hut v0.3.0 This release adds a bunch of new features and updates the API schema to upstream's latest version. - Pagination is now supported across the board. - Improved support for Web hooks. - builds: add --edit to adjust build manifests using an editor before submitting, add artifacts sub-command, improve support for labels. - todo: add sub-command to create a new ticket and show a ticket. - git: add sub-command to update repository settings. - pages: the publish sub-command can now take directories as input and supports advanced site configuration. - lists: add sub-command to fetch archives. Full commit history below. Dmitry Bogatov (1): hut-git-update: add option to set repository description Moritz Poldrack (1): builds: fix error when complete-build is used Simon Ser (15): todo: drop unnecessary newline Upgrade dependencies go fmt builds submit: add --edit Use gqlclient.Time todo ticket create: new command Set User-Agent pages publish: add support for directories Split client logic into separate file Move InstanceConfig method near the type definition Lazily load config and cache it in context builds submit: fix .builds/ glob builds submit: allow missing input manifest with --edit git: iterate over all remote URLs in guessGitRepoName git: simplify getRepoName Thorben Günther (39): todo/tickets: Support neutral "closed" resolution todo ticket update-status: Use CLOSED as default resolution git: Add update git update: Support setting custom README builds list: Support other owners readme: Use only master branch for CI status badge Remove deprecated ioutil package Run gofmt todo: Add ticket show lists: Conform with new schema git: Conform with new schema pages publish: Use longer timeout export: Clarify usage lists: Add archive lists archive: Support last days webhook list: Remove events and query lists: Implement mailing list completion pages publish: Add flag to read siteConfigFile pages publish: Deprecate not-found flag builds: Add artifacts Switch from timeDelta to humanize.Time git artifact upload: Increase timeout builds: Update schema lists: Add mailing list webhook create lists: Add mailing list webhook list lists: Add mailing list webhook delete builds: Add user-webhook create builds: Add user-webhook list builds: Add user-webhook delete webhooks: Remove unnecessary nil checks todo: Update schema meta: Update schema hg: Update schema todo label delete: Use label name instead of ID todo label list: Remove ID todo: Add ticket label todo: Add ticket unlabel todo label delete: Add label completion doc: Clarify export usage Vlad-Stefan Harbuz (2): init: trim oauth2 token Add pager
hut v0.2.0 Colin Arnott (1): pages publish: accept archive from stdin Drew DeVault (8): export: new subcommand export: add git.sr.ht support export: skip already-exported services export: add hg.sr.ht support export: clone repos via SSH export: add lists.sr.ht support export: add builds.sr.ht support export: add paste.sr.ht support Gregory Anders (1): paste: allow specifying name when reading from stdin Habib Alamin (2): Fix BSD install error when mixing `-d` and `-C` (via `-p`) Fix BSD install error when using `-t` option Sebastian LaVine (2): config: Error-check AccessToken before service origin URL loop Replace duplicated code with new stripProtocol() function Simon Ser (12): readme: link to IRC channel git artifact upload: accept multiple filenames readme: add link to sr.ht project builds/{resubmit,show}: add completions Disable date/time log prefix paste list: don't crash on nameless file man: fix missing arg name lists patchset show: new subcommand pages publish: use cmd.MarkFlagRequired pages unpublish: use cmd.MarkFlagRequired Use cobra.FixedCompletions pages publish: unset filename for stdin, set MIME type Thorben Günther (67): man page: Add missing git show todo: Improve ticket ID completion git: Improve webhook event completion builds: Update schema builds: Fix tasks/tags handling builds submit: Add tags flag builds: Add missing completion and args directives patchset list: Further improve output git: Add missing completion directives git: Expose error in getRepoName todo: Expose error in getTrackerName todo: Add create lists: Add create hg: Update schema hg: Add create hg/git/todo create: Set default visibility to public todo: Conform with new schema hg: Add delete lists acl list: Improve output git acl list: Improve output todo acl list: Improve output todo label create: Support a few colors in completion todo: Update schema todo: Add ticket delete builds cancel, paste delete: Improve completion paste delete: Accept URLs Add first parsing tests parsePatchID: Improve instance detection lists: Expose error in getMailingListName Use new function to read webhook queries todo: Add ticket webhook create todo: Add ticket webhook delete git: Change webhook command handling lists: Conform with new schema lists list: Add visibility lists: Add user-webhook create lists: Add user-webhook list lists: Add user-webhook delete todo: Add user-webhook create todo: Add user-webhook list todo: Add user-webhook delete meta: Add user-webhook create meta: Add user-webhook list meta: Add user-webhook delete hg: Add user-webhook create hg: Add user-webhook list hg: Add user-webhook delete meta: Implement user-webhook ID completion git: Implement user-webhook ID completion lists: Implement user-webhook ID completion hg: Implement user-webhook ID completion todo: Implement user-webhook ID completion todo: Add ticket webhook list webhooks: Read query after events are parsed todo: Fix user webhook ID completion paste: Conform with new schema pages: Update schema builds: Improve secret list output paste: Add user-webhook create paste: Add user-webhook list paste: Add user-webhook delete pages: Add user-webhook create pages: Add user-webhook list pages: Add user-webhook delete todo: Add tracker webhook create todo: Add tracker webhook list todo: Add tracker webhook delete
hut v0.1.0 This is the first hut release. Dhruvin Gandhi (3): pages: Update the schema pages publish: Add subdirectory flag pages publish: Add --not-found Hugo Machet (2): doc: Add man page Add Makefile Humm (1): bring Makefile closer to perfection James Pearson (1): Improve README.md Maxwell G (1): Makefile: Add completions and uninstall targets Renato Torres (1): git: add show Sebastian LaVine (3): Direct users without a config to use the man page example builds submit, resubmit: Add -n note flag Fix formatting with `go fmt` Simon Ser (114): Initial commit Add support for multi-file pastes Print paste URL Add context timeout Drop Entity hack Drop replace directive from go.mod Add build subcommand Upgrade git.sr.ht/~emersion/gqlclient Move generated code to pastesrht sub-package Use code generation for pastesrht query Use codegen for builds.sr.ht Add --follow to build submission Add README for srht package readme: add a building section srht: add fallback // +build comment Split commands into per-service files Fix typos in command usage readme: add builds.sr.ht badge readme: linkify heading Auto-detect repo name git artifact: turn revision flag into arg pages publish: use cobra.ExactArgs doc: expand "builds submit" description Revert "git artifact: turn revision flag into arg" git artifact: use cobra.ExactArgs Add basic graphql command doc: minor formatting touch-ups builds show: set max number of args builds: use circle as icon for pending jobs Add "meta show" command builds list: improve formatting a bit builds show: improve formatting a bit builds list: show status icon, add newline before note builds: use black circle for running tasks and jobs Simplify parseInt32 builds show: use separate GraphQL query for last job ID builds list: show task statuses builds cancel: fix usage string doc: use underline style for $EDITOR Hide "completions" command generated by cobra Exit with non-zero status on invalid command builds show: error out properly on invalid job ID builds resubmit: clarify error message on invalid job ID builds show: display job note meta ssh-key create: new command git: pass context to gitRemoteURL paste: print hashes in yellow termfmt: rename Color to Style termfmt: add Bold and Dim pages: print site name in bold meta: print username in bold Upgrade gqlclient go generate meta pgp-key create: new command meta show: display current user by default builds: improve status colors git list: use bold for repo name builds list: add more formatting Introduce ownerPrefixes git: remove repoName global Reject invalid input in getConfirmation Add lists.sr.ht schema Move timeDelta to main.go lists list: new command readme: mention man page instead of -h termfmt: add Style.{String,Sprint,Sprintf} paste list: add colorful visibility paste update: use completePasteID for completions git: handle instance in --repo flag config: add Client.HTTP paste show: new command Move parseInt32 to main.go builds: introduce parseBuildID git: rename RepositoryByName to RepositoryIDByName git: introduce getRepoID doc/hut.1: slightly improve formatting and arg names graphql: use NoFileCompletions lists: introduce parseMailingListName lists: rename MailingListByName to MailingListIDByName lists: add getMailingListID lists: detect mailing list from Git config lists: replace --owner flag with --mailing-list go get -u srht/generate: drop package names ci: add BSD make build graphql: add --var git: add ParseVisibility to gitsrht package lists: add ParsePatchsetStatus to listssrht package pages: add ParseProtocol to pagessrht package paste: add ParseVisibility to pastesrht package git: add ParseAccessMode to gitsrht package git artifact list: add terminal formatting git list: hide repository ID Fix typo in --instance help text pages: unfold long line hg list: drop repo ID from output git: add owner arg to getRepoID hut init: new command readme: disambiguate license config: introduce config struct config: error out on duplicate instance names Add parseOwnerName meta show: parse instance from arg git list: parse instance from arg lists, todo: add TODO where we ignore owner builds show: add formatting for job ID in --follow mode termfmt: add ReplaceLine Remove Client.Hostname Only build service origin from instance name if it's a FQDN graphql: prefill editor with help text graphql: drop prefilled text, abort on empty query Upgrade dependencies Move GraphQL client timeout to http.Client graphql: fix missing newline in error message Thorben Günther (143): ci: add build manifest Add .gitignore Add artifact upload config: Add option to grab token from command output CI: Check documentation in build step Group commands by API service pages: Add website publish pages: Add unpublish paste: Add option to set visibility pages: Add list readme: Fix license builds: Add resubmit builds: Allow editing of resubmitted manifest builds: Add cancel builds: Set note for resubmissions paste: Add delete builds: Move int64 -> int32 conversion to function git: Try to autodetect revision for artifact upload builds: Add show builds: Add list builds: Add secrets git artifact: Improve error handling artifacts: Move upload to subcommand git: Add artifact list git: Add artifact delete git: Regenerate gql.go git: Make --repo flag global doc: Remove empty options for artifact list git: Add create git create: Add flag to clone repo after creation paste: Add list git: Use function to get repo name Add coloured output, enable for job status builds: Add ssh builds: Add follow flag to show command Update builds, git schemata and re-generate git create: Retrieve SSH user from API builds ssh: Retrieve SSH user from API config: Add instance flag config: Add config flag Improve auto-completion meta ssh-key: Add delete meta pgp-key: Add delete paste: Add update git: Add list meta ssh-key: Add list git: Add delete meta pgp-key: Add list Implement function to receive user confirmation git delete: Ask for confirmation config: Improve instance detection git delete: Use repo name instead of ID getConfirmation: Change to lower-case n config: Remove global variables meta: Add audit-log lists: Add delete git: Implement repo completion paste: Implement paste ID completions Add hg.sr.ht schema hg: Add list git artifacts: Improve rev completion Implement argument parsing config: Modify client creation to accept instance string git: Return instance when guessing repo repoName timeDelta: Use time.Since in function itself Fix timeDelta usage meta ssh-key delete: Implement completion meta pgp-key delete: Implement completion git: Add acl list lists: Add subscription add lists: Add subscription remove builds: Implement completion for running jobs lists delete: Add nil check lists: Add patchset list lists: Remove obsolete owner flag lists: Add patchset update git: Add acl update git: Add acl delete pages: Implement domain completion Makefile: Add dependencies to completion targets lists: Add patchset apply git: Parse owner in getRepoName and guessGitRepoName git show: Handle owner git show: Fix latest tag lists patchset list: Improve output git acl list: Switch date and mode Add todo schema todo: Add list todo: Add delete git artifact list: Handle owner todo: Add ticket list todo: Handle owner in getTrackerID lists patchset: Implement patch ID completion patchset list: Support listing by user lists acl list: New command lists: Add acl delete git: Conform with new schema git: Schema update todo: Add ticket comment todo ticket list: Color labels with their own color todo: Move ticket parsing to function todo: Add ticket update-status todo comment: Write comment with EDITOR by default getInputWithEditor: Support initial text builds resubmit: Use getInputWithEditor builds ssh: Add missing nil check todo ticket comment: Support status and resolution ticket comment: Implement smart status handling ticket update-status: Implement smart status handling todo: Add label list todo: Add label delete todo: Add label create todo labels: Pad with space git: Implement artifact completion todo: Add acl list todo: Add acl delete config: Support setting service origin URL git: Add webhook list git: Add webhook delete git: Add webhook create todo: Add subscribe todo: Add unsubscribe lists subscribe: Fix args usage todo: Add ticket subscribe todo: Add ticket unsubscribe todo: Add ticket assign todo: Add ticket unassign label create: Automatically pick foreground color if omitted git create: Support cloneUrl as import-url flag patchset list: Align output termfmt: Export isTerminal builds (re)submit: Offer SSH connection Switch tabwriter package man page: Sort alphabetically todo: Return error in parseTicketResource todo: Implement ticket unassign completion todo: Implement ticket ID completion patchset list: Slightly adjust output graphql: Read query from $EDITOR by default git webhook create: Support reading from stdin todo: Implement ticket assign completion todo: Implement tracker completion ticket comment: Fix panic