hut v0.5.0 Simon Ser (11): Upgrade dependencies Update GraphQL schema Upgrade hg schema export/lists: add visibility export/paste: ignore empty filenames export/meta: write info.json file export: fix writeExportStamp return value client: remove unused Client.Hostname import: accept multiple directories config: use scfg decoder to read config file todo ticket edit: new command Thorben Günther (2): todo ticket list: Add status filtering pager/editor: Use shlex to parse command delthas (5): export/git: add readme and head export/hg: add readme and nonPublishing Add the import command export: Support specifying services and resources import: Fix wrong import path
hut v0.4.0 This release introduces a handful of new features and includes bug fixes (in particular, for authentication errors when fetching logs). - Pagination is now supported for all commands. - todo trackers can now be exported. - Comments are now displayed when showing a todo ticket. - Sharing builds secrets is now supported. - A new command to display lists subscriptions has been added. - The graphql command can perform file uploads. Full commit history below. Benjamin Pollack (1): pager: honor $PAGER Jackson Chen (1): hut init: early check if config already exists Simon Ser (21): Upgrade dependencies Remove golang.org/x/oauth2 Upgrade dependencies srht: re-generate todo ticket show: display comments ci: ignore generated GraphQL files in gofmt check builds: skip empty job notes builds: pass Client as argument builds: use authenticated client to fetch logs contrib: Add script to update schemas lists: add support for e-mail address syntax for list names doc: add paragraph about resource references export: print service name outside of Export function export: drop Exporter.Name export: drop Exporter.BaseURL export: return cobra.Command directly export: fix info type typo in TodoExporter.exportTracker export: add common writeJSON function graphql: add support for file uploads builds show: print job group status Fix panic when access-token-cmd returns an empty string Thorben Günther (65): builds: Update schema Write logs to stderr builds submit: Support visibility builds resubmit: Support visibility doc: Fix builds (re)submit options paste: Fix paste ID completion builds secrets: Display type git create: Correctly handle empty description export/paste: Add pagination builds secrets: Support pagination meta audit-log: Support pagination meta audit-log: Improve output meta user-webhook list: Support pagination export/git: Add pagination export/builds: Use http client authentication for gettings logs export/builds: Also export job visibility export/builds: Add pagination export/hg: Support pagination export/lists: Support pagination export/meta: Support pagination paste list: Support pagination paste user-webhook list: Support pagination lists: Add subscriptions builds list: Fix pagination builds user-webhook list: Support pagination hg user-webhok list: Support pagination todo ticket list: Support pagination todo label list: Support pagination hg/builds user-webhook list: Actually print to pager todo user-webhook list: Support pagination lists: Rename variable todo ticket webhook list: Support pagination todo webhook list: Support pagination todo acl list: Handle owner todo acl list: Support pagination lists user-webhook list: Support pagination lists webhook list: Support pagination git acl list: Handle owner lists patchset apply: Support pagination lists acl list: Handle owner lists acl list: Support pagination lists patchset show: Support pagination lists patchset list: Support pagination git user-webhook list: Support pagination git acl list: Support pagination pages list: Support pagination pages user-webhook list: Support pagination meta ssh-key list: Support pagination meta pgp-key list: Support pagination meta {ssh,pgp}-key list: Improve output git/completeArtifacts: Handle owner export/todo: Fix query export: fix info type typo in TodoExporter.exportTracker export/todo: Save tracker description, visibility export/todo: Skip tracker if dump already exists builds: Update schema builds secrets: Indicate if a secret was shared builds show: Remove SSH connection string lists: Improve patchset completion builds: Replace "secrets" with "secret list" hut git update: Support clearing custom README printMailingListSubscription: Remove unused parameter builds secret: Add share builds secret share: Implement secret completion builds secret share: Implement user completion delthas (3): export: add support for todo Use a common info.json metadata file export/hg: don't use .git suffix for repository dir
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