~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

Release 0.3.0

Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:release/0.3.0
.changeset/archive-repositories.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: minor
---
# Archive a repository
`knotless archive <url>` makes a repository you own read only, and `knotless archive <url> --undo` makes it writable again. While it is archived, pushes and commits are refused, nobody can open pulls or issues or comment on it, and its workflows stop running. Its pages show it as archived. You can also archive and unarchive it from its settings, in the Danger zone, or with the MCP server's `archive_repo` tool.
.changeset/check-notifications.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: minor
---
# Hear of your pulls' failed checks and merge queue ejections
`knotless notifications`, the MCP `notifications` tool and the pages now say when checks fail at your pull's latest run (`checks-failed`) and when the merge queue takes your pull out (`ejected`), each naming the checks that failed. Either can be turned off with `knotless notifications settings --off <reason>`. The pages' notification settings can also show new notifications on your screen while knotless is open in a tab.
.changeset/compaction-keeps-young-bases.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: patch
---
# Clones no longer break after a branch is deleted and compacted
A clone or fetch could fail with "the remote has no pack holding" a commit of a deleted branch, such as a landed pull's. A newer pack still named that commit as a base, and compaction had dropped it. Compaction now keeps every base that the packs it leaves name.
.changeset/compaction-stops-short.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: patch
---
# Compaction stops rather than lose a commit
If compaction can't fetch a commit that a newer push still needs, it now stops and deletes nothing. Before, it left that commit out and deleted the packs anyway, which broke clones with "the remote has no pack holding" that commit.
.changeset/conflict-name.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: patch
---
# A conflict is named a conflict
A 409 from knotless-serve, such as a gateway commit whose edit no longer finds its text, now says `Conflict (409)` rather than `InternalServerError (409)`, so it no longer reads as the server failing.
.changeset/edits-and-ranges.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: minor
---
# Change part of a long file without sending all of it
`knotless commit --edit <path> <old> <new>` and the MCP `commit` tool's `edits` replace text in a file as the branch holds it, so an agent changing one line of a long file sends that line, not the file. On a branch that moved meanwhile, edits are made in the file as it is there. `knotless search` and the `search` tool take `--path`/`path` to look only under a directory or glob, and `--context`/`context` to show the lines around each match, enough to write an edit from. The `read_file` tool takes `start` and `end` to read only some lines, and `blame` (`--lines <first>-<last>` on the command line) blames only some.
.changeset/merged-batch.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: patch
---
# A pull the merge queue landed shows the checks it landed on
A merged pull's page now shows the checks of the batch the merge queue landed it in, not older runs of its own heads. Over MCP, `list_items` and `show_item` name that batch's tip as `merged_batch`.
.changeset/notifications-of-one-kind.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: minor
---
# Notifications of one kind
`knotless notifications --kind <kind>` lists only mentions, reviews, comments, pulls-and-issues, checks or stars-and-follows, and the MCP server's `notifications` tool takes the same `kind`. A listing of one kind marks nothing seen, so the others stay new.
.changeset/org-join-reads-once.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: patch
---
# Joining an organization reads both places at once
`knotless org join` reads whether you joined publicly and in the organization's space at the same time. Switching between them no longer reads again after the organization takes you in.
.changeset/owner-secrets.mddeleted+0−7
@@ -1,7 +0,0 @@
---
default: minor
---
# Owners give their runners secrets
`knotless secret <url> set <name> [--ref <pattern>]...` gives a repository's runners a secret, read from stdin, sealed to the key each runner publishes so only it can read it, and left at the appview. `knotless secret <url> ls` lists them, never a value, and `rm` takes one back. The MCP server has a `secret` tool to match. A runner reads them for each run whose workflow lists a name its secrets file does not grant. `knotless runners <url> remove` deletes the secrets sealed to that runner, and `add` says which secrets must be set again to reach it.
.changeset/pages-refresh-on-return.mddeleted+0−7
.changeset/pictures-at-their-density.mddeleted+0−7
.changeset/read-only-mcp.mddeleted+0−7
.changeset/repository-topics.mddeleted+0−7
.changeset/review-agent.mddeleted+0−7
.changeset/review-owner.mddeleted+0−7
.changeset/runner-key.mddeleted+0−7
.changeset/sealed-secrets-appview.mddeleted+0−7
.changeset/secret-not-granted.mddeleted+0−7
.changeset/secrets-settings.mddeleted+0−7
.changeset/timeline-keeps-drafts.mddeleted+0−7
.changeset/update-check.mddeleted+0−7
.changeset/workflow-runners.mddeleted+0−7
Cargo.lock+6−6
Cargo.toml+1−1
CHANGELOG.md+98−0
knope.toml+1−0