{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":107715151,"defaultBranch":"master","name":"core","ownerLogin":"gazette","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-10-20T18:54:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47641995?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719866222.0","currentOid":""},"activityList":{"items":[{"before":"aa568b5cf48fe5b4966d763015419c4dbf30df3b","after":"f7be722ff0393c5a362c557feda2b239f0104d3d","ref":"refs/heads/master","pushedAt":"2024-07-03T03:08:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jshearer","name":"Joseph Shearer","path":"/jshearer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368270?s=80&v=4"},"commit":{"message":"azure: Don't panic when token refresh fails\n\nInstead of crashing the whole broker when we fail to refresh an `azblob.TokenCredential`, we should retry forever and log noisily instead.","shortMessageHtmlLink":"azure: Don't panic when token refresh fails"}},{"before":null,"after":"776f6f1bf5db39c7aae1f4002981ee5878538bd2","ref":"refs/heads/dependabot/go_modules/github.com/gorilla/schema-1.4.1","pushedAt":"2024-07-01T20:37:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump github.com/gorilla/schema from 1.2.0 to 1.4.1\n\nBumps [github.com/gorilla/schema](https://github.com/gorilla/schema) from 1.2.0 to 1.4.1.\n- [Release notes](https://github.com/gorilla/schema/releases)\n- [Commits](https://github.com/gorilla/schema/compare/v1.2.0...v1.4.1)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/gorilla/schema\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump github.com/gorilla/schema from 1.2.0 to 1.4.1"}},{"before":"2294428d1a1a49346c66c7ef2548c19ff50daf78","after":null,"ref":"refs/heads/jshearer/fix_macos_build_endian_macros","pushedAt":"2024-06-28T17:37:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"}},{"before":"724b2cf5d0f9c3f2930adbf31dbf07a13a28bf58","after":"aa568b5cf48fe5b4966d763015419c4dbf30df3b","ref":"refs/heads/master","pushedAt":"2024-06-28T17:37:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"fix: Add missing endian conversion macros to enable MacOS builds\n\nWe had been manually hacking this into our headers to build locally. I _believe_ this is the correct place to put them, or at least this change allows Gazette to build on my Mac without hacks.","shortMessageHtmlLink":"fix: Add missing endian conversion macros to enable MacOS builds"}},{"before":null,"after":"2294428d1a1a49346c66c7ef2548c19ff50daf78","ref":"refs/heads/jshearer/fix_macos_build_endian_macros","pushedAt":"2024-06-28T01:22:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jshearer","name":"Joseph Shearer","path":"/jshearer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368270?s=80&v=4"},"commit":{"message":"fix: Add missing endian conversion macros to enable MacOS builds\n\nWe had been manually hacking this into our headers to build locally. I _believe_ this is the correct place to put them, or at least this change allows Gazette to build on my Mac without hacks.","shortMessageHtmlLink":"fix: Add missing endian conversion macros to enable MacOS builds"}},{"before":"86bb27786a89074bdafe7cfba62d432709f9de0e","after":"03f6ca226acce8e67e78a1390d956de48333d8b9","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-27T22:36:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\"\n\nThis is to more clearly scope private keys to being an aspect of their\nTLS certificate, and to reduce confusion with the new \"auth-keys\" flag\nand environment variable.","shortMessageHtmlLink":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\""}},{"before":"8610407234203a179b2eec15b584aa1a186d5cc9","after":"86bb27786a89074bdafe7cfba62d432709f9de0e","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-27T21:42:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\"\n\nThis is to more clearly scope private keys to being an aspect of their\nTLS certificate, and to reduce confusion with the new \"auth-keys\" flag\nand environment variable.","shortMessageHtmlLink":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\""}},{"before":null,"after":"b5d18cccb14e85a64df556f79e849a066914f7bd","ref":"refs/heads/jshearer/retry_forever_on_token_refresh_failure","pushedAt":"2024-06-27T16:53:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jshearer","name":"Joseph Shearer","path":"/jshearer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4368270?s=80&v=4"},"commit":{"message":"azure: Don't panic when token refresh fails\n\nInstead of crashing the whole broker when we fail to refresh an `azblob.TokenCredential`, we should retry forever and log noisily instead.","shortMessageHtmlLink":"azure: Don't panic when token refresh fails"}},{"before":"cb57dfd7b0c4fe2dedfdda6b2923b6209b65179b","after":"8610407234203a179b2eec15b584aa1a186d5cc9","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-25T18:19:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\"\n\nThis is to more clearly scope private keys to being an aspect of their\nTLS certificate, and to reduce confusion with the new \"auth-keys\" flag\nand environment variable.","shortMessageHtmlLink":"mainboilerplate: rename various \"key-file\" to \"cert-key-file\""}},{"before":"3a23985d108ccc62dacfec0c38284d79f70d87c4","after":"cb57dfd7b0c4fe2dedfdda6b2923b6209b65179b","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-25T18:10:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"squash: consumers authorizations","shortMessageHtmlLink":"squash: consumers authorizations"}},{"before":"cf124e2c166ba4c70ae45f2cc7f5da861a24cb0b","after":"3a23985d108ccc62dacfec0c38284d79f70d87c4","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-25T17:54:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"consumer: add support for fine-grain Authorizations\n\nThis change closely parallels the corersponding change to the Gazette\nbroker and uses much of the same infrastructure.\n\nBuilt-in Shard APIs now expect and verify Authorizations which carry a\nset of capabilities and a label selector which scopes the resources\n(shards) which are authorized to the caller.\n\nShards which don't match the claim's selector are not visible to the\nclient and are indistinguishable from not existing at all.\n\nAuthShardClient drives an Authorizer to obtain and attach a suitable\ncredential prior to starting an RPC. AuthShardServer uses a Verifier\nto verify a caller's claims prior to dispatching a service handler.\n\nCustom and application-specific APIs will likely want to use the\nService.Authorizer and Service.Verifier fields to power their own\nauthorizing client and server middleware.","shortMessageHtmlLink":"consumer: add support for fine-grain Authorizations"}},{"before":"d98f14ca5e8f41541f88f6c4ea9bcd844961aa46","after":"cf124e2c166ba4c70ae45f2cc7f5da861a24cb0b","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-25T04:40:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"broker: add support for fine-grain Authorizations\n\nAuthorization is implemented in terms of LabelSelectors and\nCapabilities.\n\nIn order for a client to call an API, the client must present an\nAuthorization with a suitable Claim having:\n\n - The required Capability, such as READ, LIST, or APPEND.\n\n - A LabelSelector which scopes the resources visible to the client.\n\nJournals which do not match the authorized Selector are not visible to\nthe client and are indistinguishable from not existing at all.\n\nAuthorizer and Verifier interfaces are introduced which can implement\nvarying strategies for obtaining and checking Authorization tokens.\n\nAuthJournalClient drives an Authorizer to obtain and attach a suitable\ncredential prior to starting an RPC. AuthJournalServer uses a Verifier\nto verify a caller's claims prior to dispatching a service handler.\n\nA new `auth` module introduces NewKeyedAuth() which returns an\nAuthorizer and Verifier implemented in terms of pre-shared symmetric\nkeys. Symmetric keys are a good fit for Gazette given its distributed\nnature and the requirement that brokers be able to self-sign\npeer-to-peer requests, such as Replicate and proxied Read or Append\nRPCs.\n\nClient applications may want to use alternative Authorizer\nimplementations, such as an authorization server, but that's out of\nscope for Gazette proper.","shortMessageHtmlLink":"broker: add support for fine-grain Authorizations"}},{"before":null,"after":"d98f14ca5e8f41541f88f6c4ea9bcd844961aa46","ref":"refs/heads/johnny/auth","pushedAt":"2024-06-25T04:10:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"broker: add support for fine-grain Authorizations\n\nAuthorization is implemented in terms of LabelSelectors and\nCapabilities.\n\nIn order for a client to call an API, the client must present an\nAuthorization with a suitable Claim having:\n\n - The required Capability, such as READ, LIST, or APPEND.\n\n - A LabelSelector which scopes the resources visible to the client.\n\nJournals which do not match the authorized Selector are not visible to\nthe client and are indistinguishable from not existing at all.\n\nAuthorizer and Verifier interfaces are introduced which can implement\nvarying strategies for obtaining and checking Authorization tokens.\n\nAuthJournalClient drives an Authorizer to obtain and attach a suitable\ncredential prior to starting an RPC. AuthJournalServer uses a Verifier\nto verify a caller's claims prior to dispatching a service handler.\n\nA new `auth` module introduces NewKeyedAuth() which returns an\nAuthorizer and Verifier implemented in terms of pre-shared symmetric\nkeys. Symmetric keys are a good fit for Gazette given its distributed\nnature and the requirement that brokers be able to self-sign\npeer-to-peer requests, such as Replicate and proxied Read or Append\nRPCs.\n\nClient applications may want to use alternative Authorizer\nimplementations, such as an authorization server, but that's out of\nscope for Gazette proper.","shortMessageHtmlLink":"broker: add support for fine-grain Authorizations"}},{"before":"fbda5ce0d38d867c4b358941d1956ca3bef74173","after":"73637fcc1674f83783eecb3410e11971584cc003","ref":"refs/heads/johnny/list-watch","pushedAt":"2024-06-23T03:14:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"broker: List RPC is now server-streaming and supports long-lived watches\n\nThe List RPC was originally a unary API, which has two issues:\n* In large deployments, unary responses bump against gRPC maximum messages sizes.\n* Unary responses can't represent a long-lived watch of changes.\n\nOften callers want to react to changes in journals, such as reading a\nnewly created journal or spreading appended messages across the current\nset of journals.\n\nclient.NewPolledList _somewhat_ enabled this functionality, but is\ninefficient and requires selection of a polling interval.\n\nTo address both issues, List is updated to become a server-streaming API\nwhile retaining backward comatibility with MOST clients expecting a\nunary response, so long as the response size is under one thousand\njournals.\n\nThe List RPC is also extended with a Watch mode. When enabled, brokers\nwill continue to stream real-time updates upon every change to the set\nof journals which match the selector. This lets clients react instantly\nto changes in journal topology.\n\nclient.NewPolledList becomes client.NewWatchedList, with a nearly\nidentical API (the polling interval is removed).\n\nThe shard List RPC is not modified by this change, but could follow a\nsimilar path in the future.","shortMessageHtmlLink":"broker: List RPC is now server-streaming and supports long-lived watches"}},{"before":"c08fbaaedc6b9f7c8ad8cc594ae544e8ad6b19a0","after":"fbda5ce0d38d867c4b358941d1956ca3bef74173","ref":"refs/heads/johnny/list-watch","pushedAt":"2024-06-23T03:01:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"broker: List RPC is now server-streaming and supports long-lived watches\n\nThe List RPC was originally a unary API, which has two issues:\n* In large deployments, unary responses bump against gRPC maximum messages sizes.\n* Unary responses can't represent a long-lived watch of changes.\n\nOften callers want to react to changes in journals, such as reading a\nnewly created journal or spreading appended messages across the current\nset of journals.\n\nclient.NewPolledList _somewhat_ enabled this functionality, but is\ninefficient and requires selection of a polling interval.\n\nTo address both issues, List is updated to become a server-streaming API\nwhile retaining backward comatibility with MOST clients expecting a\nunary response, so long as the response size is under one thousand\njournals.\n\nThe List RPC is also extended with a Watch mode. When enabled, brokers\nwill continue to stream real-time updates upon every change to the set\nof journals which match the selector. This lets clients react instantly\nto changes in journal topology.\n\nclient.NewPolledList becomes client.NewWatchedList, with a nearly\nidentical API (the polling interval is removed).\n\nThe shard List RPC is not modified by this change, but could follow a\nsimilar path in the future.","shortMessageHtmlLink":"broker: List RPC is now server-streaming and supports long-lived watches"}},{"before":"036bd0e7769db4466124fa15985a2541ad713daa","after":"a55995fde37cacdef8757217ce66fe7392dc5902","ref":"refs/heads/johnny/prefix-match","pushedAt":"2024-06-23T03:00:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"protocol: LabelSelectors support prefix matches\n\nIn uses of Gazette, labels often encode a hierarchical namespace\nsuch as \"foo/bar/baz\", and for such labels it's desireable to be able to\ncreate a LabelSelector that includes or excludes an entire sub-hierarchy\nof potential label values, such as including or excluding any label\nthat begins with \"foo/bar/\".\n\nExtend Label to have a Prefix field which may only be set in the context\nof a LabelSelector (and is a Validate() error otherwise).\n\nIn a LabelSelector context, Prefix instructs selector matching to match\nany label value which is prefixed by the given selector label.\n\nIntroduce a convention of \"my-label:prefix\" as a special suffix which\nindicates that prefix matching is desired, and update LabelSelector\nparsing to round-trip such \":prefix\" suffixes.\n\nUpdate the implementation of the special meta-label \"prefix\" to be in\nterms of a \"name:prefix\" selector label, and back out the bespoke\nimplementation that has until-now been used for journal name prefix\nmatching.","shortMessageHtmlLink":"protocol: LabelSelectors support prefix matches"}},{"before":"3958c4757228550529e1ef0691d45dd5dbfafe02","after":"7f4e05d0e94ebf41255d580d5796a72a12e65e58","ref":"refs/heads/johnny/tls-everywhere","pushedAt":"2024-06-22T18:47:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"mk: bump Go and builder versions","shortMessageHtmlLink":"mk: bump Go and builder versions"}},{"before":null,"after":"c08fbaaedc6b9f7c8ad8cc594ae544e8ad6b19a0","ref":"refs/heads/johnny/list-watch","pushedAt":"2024-06-22T18:28:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"broker: List RPC is now server-streaming and supports long-lived watches\n\nThe List RPC was originally a unary API, which has two issues:\n* In large deployments, unary responses bump against gRPC maximum messages sizes.\n* Unary responses can't represent a long-lived watch of changes.\n\nOften callers want to react to changes in journals, such as reading a\nnewly created journal or spreading appended messages across the current\nset of journals.\n\nclient.NewPolledList _somewhat_ enabled this functionality, but is\ninefficient and requires selection of a polling interval.\n\nTo address both issues, List is updated to become a server-streaming API\nwhile retaining backward comatibility with MOST clients expecting a\nunary response, so long as the response size is under one thousand\njournals.\n\nThe List RPC is also extended with a Watch mode. When enabled, brokers\nwill continue to stream real-time updates upon every change to the set\nof journals which match the selector. This lets clients react instantly\nto changes in journal topology.\n\nclient.NewPolledList becomes client.NewWatchedList, with a nearly\nidentical API (the polling interval is removed).\n\nThe shard List RPC is not modified by this change, but could follow a\nsimilar path in the future.","shortMessageHtmlLink":"broker: List RPC is now server-streaming and supports long-lived watches"}},{"before":"20779ddb80b7a80a0530e59e91f5c969435ac8aa","after":"036bd0e7769db4466124fa15985a2541ad713daa","ref":"refs/heads/johnny/prefix-match","pushedAt":"2024-06-20T03:00:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"protocol: LabelSelectors support prefix matches\n\nIn uses of Gazette, labels often encode a hierarchical namespace\nsuch as \"foo/bar/baz\", and for such labels it's desireable to be able to\ncreate a LabelSelector that includes or excludes an entire sub-hierarchy\nof potential label values, such as including or excluding any label\nthat begins with \"foo/bar/\".\n\nExtend Label to have a Prefix field which may only be set in the context\nof a LabelSelector (and is a Validate() error otherwise).\n\nIn a LabelSelector context, Prefix instructs selector matching to match\nany label value which is prefixed by the given selector label.\n\nIntroduce a convention of \"my-label:prefix\" as a special suffix which\nindicates that prefix matching is desired, and update LabelSelector\nparsing to round-trip such \":prefix\" suffixes.\n\nUpdate the implementation of the special meta-label \"prefix\" to be in\nterms of a \"name:prefix\" selector label, and back out the bespoke\nimplementation that has until-now been used for journal name prefix\nmatching.","shortMessageHtmlLink":"protocol: LabelSelectors support prefix matches"}},{"before":"740aa49da307a00794068850fae1b86334b9530c","after":"20779ddb80b7a80a0530e59e91f5c969435ac8aa","ref":"refs/heads/johnny/prefix-match","pushedAt":"2024-06-20T02:39:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"protocol: LabelSelectors support prefix matches\n\nIn uses of Gazette, labels often encode a hierarchical namespace\nsuch as \"foo/bar/baz\", and for such labels it's desireable to be able to\ncreate a LabelSelector that includes or excludes an entire sub-hierarchy\nof potential label values, such as including or excluding any label\nthat begins with \"foo/bar/\".\n\nExtend Label to have a Prefix field which may only be set in the context\nof a LabelSelector (and is a Validate() error otherwise).\n\nIn a LabelSelector context, Prefix instructs selector matching to match\nany label value which is prefixed by the given selector label.\n\nIntroduce a convention of \"my-label:prefix\" as a special suffix which\nindicates that prefix matching is desired, and update LabelSelector\nparsing to round-trip such \":prefix\" suffixes.\n\nUpdate the implementation of the special meta-label \"prefix\" to be in\nterms of a \"name:prefix\" selector label, and back out the bespoke\nimplementation that has until-now been used for journal name prefix\nmatching.","shortMessageHtmlLink":"protocol: LabelSelectors support prefix matches"}},{"before":null,"after":"740aa49da307a00794068850fae1b86334b9530c","ref":"refs/heads/johnny/prefix-match","pushedAt":"2024-06-20T02:14:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"protocol: LabelSelectors support prefix matches\n\nIn uses of Gazette, labels often encode a hierarchical namespace\nsuch as \"foo/bar/baz\", and for such labels it's desireable to be able to\ncreate a LabelSelector that includes or excludes an entire sub-hierarchy\nof potential label values, such as including or excluding any label\nthat begins with \"foo/bar/\".\n\nExtend Label to have a Prefix field which may only be set in the context\nof a LabelSelector (and is a Validate() error otherwise).\n\nIn a LabelSelector context, Prefix instructs selector matching to match\nany label value which is prefixed by the given selector label.\n\nIntroduce a convention of \"my-label:prefix\" as a special suffix which\nindicates that prefix matching is desired, and update LabelSelector\nparsing to round-trip such \":prefix\" suffixes.\n\nUpdate the implementation of the special meta-label \"prefix\" to be in\nterms of a \"name:prefix\" selector label, and back out the bespoke\nimplementation that has until-now been used for journal name prefix\nmatching.","shortMessageHtmlLink":"protocol: LabelSelectors support prefix matches"}},{"before":"961c05015abad7c8823e163b6dfc8b5d545cf350","after":null,"ref":"refs/heads/dependabot/go_modules/golang.org/x/text-0.3.8","pushedAt":"2024-06-19T19:05:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"5842dc7eaadac3f7d13044816c35a8126aff6dce","after":null,"ref":"refs/heads/dependabot/go_modules/k8s.io/client-go-0.17.16","pushedAt":"2024-06-19T19:04:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"eb9d83e8188e88ce33d9ec6a00e81b01c84ad401","after":"724b2cf5d0f9c3f2930adbf31dbf07a13a28bf58","ref":"refs/heads/master","pushedAt":"2024-06-19T19:04:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"build(deps): bump k8s.io/client-go\n\nBumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.0.0-20190620074045-585a16d2e773 to 0.17.16.\n- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/kubernetes/client-go/commits/v0.17.16)\n\n---\nupdated-dependencies:\n- dependency-name: k8s.io/client-go\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump k8s.io/client-go"}},{"before":"d1224848f7b45de91b7a892a66669042cbd4a4f1","after":"5842dc7eaadac3f7d13044816c35a8126aff6dce","ref":"refs/heads/dependabot/go_modules/k8s.io/client-go-0.17.16","pushedAt":"2024-06-19T18:26:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump k8s.io/client-go\n\nBumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.0.0-20190620074045-585a16d2e773 to 0.17.16.\n- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/kubernetes/client-go/commits/v0.17.16)\n\n---\nupdated-dependencies:\n- dependency-name: k8s.io/client-go\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump k8s.io/client-go"}},{"before":"ed700ff5f59d8d65f661db25cad09a568d9d7147","after":null,"ref":"refs/heads/dependabot/go_modules/golang.org/x/sys-0.1.0","pushedAt":"2024-06-19T18:20:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"c9bcc7f73792bd8ead520e06995a15e578e9a10f","after":null,"ref":"refs/heads/dependabot/pip/docs/certifi-2023.7.22","pushedAt":"2024-06-19T18:19:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"}},{"before":"a11a613d8098e06cd36774a7b04a911aa9b66618","after":"eb9d83e8188e88ce33d9ec6a00e81b01c84ad401","ref":"refs/heads/master","pushedAt":"2024-06-19T18:19:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"build(deps): bump certifi from 2019.9.11 to 2023.7.22 in /docs\n\nBumps [certifi](https://github.com/certifi/python-certifi) from 2019.9.11 to 2023.7.22.\n- [Commits](https://github.com/certifi/python-certifi/compare/2019.09.11...2023.07.22)\n\n---\nupdated-dependencies:\n- dependency-name: certifi\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump certifi from 2019.9.11 to 2023.7.22 in /docs"}},{"before":"c4a0dcd500b774b36a86fdb22e1657e676864c33","after":null,"ref":"refs/heads/dependabot/go_modules/k8s.io/apimachinery-0.16.13","pushedAt":"2024-06-19T18:19:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"}},{"before":"9cfb7da126f2b997b259ae821c19cbd8347610d7","after":"a11a613d8098e06cd36774a7b04a911aa9b66618","ref":"refs/heads/master","pushedAt":"2024-06-19T18:19:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jgraettinger","name":"Johnny Graettinger","path":"/jgraettinger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/209664?s=80&v=4"},"commit":{"message":"build(deps): bump k8s.io/apimachinery\n\nBumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.0.0-20190620073744-d16981aedf33 to 0.16.13.\n- [Commits](https://github.com/kubernetes/apimachinery/commits/v0.16.13)\n\n---\nupdated-dependencies:\n- dependency-name: k8s.io/apimachinery\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump k8s.io/apimachinery"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEdWwJKgA","startCursor":null,"endCursor":null}},"title":"Activity ยท gazette/core"}