Skip to content

Releases: apigee/registry

v0.6.6

02 Mar 01:24
2db14e7
Compare
Choose a tag to compare

registry tool improvements + linter plugins

This release includes a change to the registry tool that allows registry apply to automatically zip directories of spec files when it uploads them. This allows these files to be stored in git repositories or other staging areas in human readable forms (no more zip archives in git repos). If the mime type in info.yaml includes +zip, then registry apply first looks for a zip archive, and if none is found, all of the other files alongside the info.yaml are zipped and uploaded as the spec contents.

Release builds now also include linter plugins, which make it easier to run registry compute conformance -- external linters (typically Spectral and Google's API Linter) still require separate installation, but the plugins that the registry tool uses to call them are now stored alongside the registry tool.

Changelog

  • 2db14e7 fix archives to use default build (#1061)
  • 8cc6332 remove build of registry-server (#1060)
  • 1c3571b fix build (#1059)
  • 5c184e4 Regenerate generated code to pick up random format changes. (#1058)
  • 5090afc Support for field definition and storage. (#1046)
  • 19e3c2d add registry-server and linter plugins to release (#1057)
  • a2537fe Automatically create zip archives when needed by registry apply. (#1055)
  • 6ac8d71 verify that version state is a represented lifecycle stage (#1051)
  • 2e467a0 add repo token to avoid rate limit build failures (#1052)
  • 3b2d007 Run ./tools/pretty.sh to format README.md files. (#1050)
  • 72a9ca5 Add a script that installs the latest release of the registry tool. (#1049)

v0.6.5

23 Feb 17:00
252e934
Compare
Choose a tag to compare

pkg and registry tool improvements

This release includes changes to the public packages (in pkg) that better conform to Go style guidance and make it easier to construct Registry YAML files for upload to the registry using registry apply. For an example, see the tests for pkg/encoding.

It also includes several improvements to the registry tool:

  • registry get supports a new raw output type, which makes additional detail available.
  • registry apply now reports an error if it is used to apply a file that is not valid Registry YAML. For sample output, see #1045.
  • registry check accepts a --list-rules option that causes it to return a list of rules enforced.

Changelog

v0.6.4

14 Feb 20:52
d0fe7e5
Compare
Choose a tag to compare

pkg improvements

This largely contains improvements to the packages in pkg and cmd/registry. A catch-all core package was eliminated, and improvements were made to a handler interface to better conform to Go style guidelines (#1006). The registry check is maturing
and can be used to check the integrity of an entire registry or any "subtree", e.g. everything associated with an API.

Changelog

  • d0fe7e5 Align Severity enum used for checks with the Severity that we use for style guides. (#1025)
  • 566d11f Move log to pkg/log. (#1021)
  • 942f9b8 move remaining functions from core to pkg/visitor (#1017)
  • 475963e move core/tasks.go to tasks/tasks.go (#1016)
  • ef112b6 Move compression functions from core to a new package named "compress" (#1015)
  • d0cf78a move "labeling.go" helpers from core to cmd/label. (#1014)
  • b7df12c check results should be defined by proto (#1013)
  • 0c23b1b use visitor for subtree (#1012)
  • fbec69c Collect and then delete resources to work around problems listing-while-deleting. (#1011)
  • 73c550b Remove context fields from structs and use new handler interface. (#1006)
  • 53f3fc8 accept context in handlers (#1004)
  • 113827c diff gzipped specs (#1001)
  • 78083da allow visitors to get contents (#1002)
  • a30c063 Fix incorrect package import. (#1000)
  • b3bf9c4 remove core/print.go (#998)

v0.6.3

03 Feb 19:17
27fed94
Compare
Choose a tag to compare

Registry tool improvements

This mainly includes a few improvements to the registry get and apply subcommands, detailed in the changelog below.
registry check is also rapidly progressing and supports additional rules.

Changelog

  • 27fed94 Move registry/server/names to pkg/names (#997)
  • 5697a52 Add --nested flag to registry get (#996)
  • 9c29d93 Additional usage information for registry apply (#992)
  • adc5ade Allow stdin as input for registry apply (#985)
  • edec081 add registry rules for API Hub (#994)
  • e9179f9 check improvements (#993)
  • 9cf71f3 allow an implicit project to be visited with ListProjects (#990)
  • f3a308f Add visitor.Unsupported to allow easy inclusion of default visitor implementations. (#991)
  • 7d440ef add registry rules for fields (#980)

v0.6.2

30 Jan 23:59
efb4e9b
Compare
Choose a tag to compare

Changelog

  • efb4e9b Allow .yml files for registry apply (#987)
  • e3bf58c labels and annotations docs (#988)
  • 8e09d5c pkg/visitor (#983)
  • 1e28dae Factor a "visitors" pattern out of the get/delete/export implementations. (#979)
  • 2e51367 Push subcommands of registry compute into separate directories. (#978)
  • 0cbf20a Remove registry count. (#976)
  • dfe9773 Add optional check that looks for wiki pages for leaf-level commands. (#975)
  • 14609d5 Bugfix for getting current user email (#968)

v0.6.1

26 Jan 03:58
903d08e
Compare
Choose a tag to compare

Changelog

  • 903d08e Allow uploads of CSV to hosted registries. (#972)
  • 20a0551 Allow hosted projects to be exported with registry export (#970)
  • 989942a add registry rules for ApiDeployment (#969)
  • f42ab1d remove implicit current revision from list APIs (#966)
  • 3c2a7fb add wiki link when user get an error in the CLI (#965)
  • 5ac2ef9 add registry rules for ApiSpec (#963)
  • d99d112 add registry rules for ApiVersion (#962)
  • 6df4986 return missing when list artifacts missing parent (#961)
  • 36826a8 Remove unreachable code from Project.Validate() (#956)
  • 164674f add db ref checks for rules 101, 102 (#952)
  • 6327c8a refactor test setup and seeding to be reusable (#951)
  • cd8f4ba remove order_by from list revision apis (#950)
  • bd0123c add context to rules with client access (#947)

v0.6.0

17 Jan 23:28
1b8f3b2
Compare
Choose a tag to compare

Registry tool improvements

Building on changes previewed in v0.5.9:

  • registry get now lists resources and replaces registry list, which is removed. When the -o yaml option is provided, registry get returns resources in a YAML format. When PATTERN matches multiple objects, a YAML list is returned. When the -o contents option is specified, contents of spec and artifact resources are written to stdout.
  • registry export PATTERN can be used to write subsets or the entire contents of a registry to a local directory of YAML files.
  • Both registry get and registry export accept a --filter argument.
  • registry apply can be used to apply all YAML files returned by registry get (including lists) and registry export to the registry.

Several obsoleted commands have been removed:

  • registry upload manifest, registry upload manifest, and registry upload manifest are all replaced by registry apply.
  • registry upload spec is removed, replaced by registry apply.

Other command changes include:

  • The bulk uploaders ('openapi', 'discovery', 'protos') under registry upload bulk are now directly under registry upload.
  • registry export csv is moved to the registry-experimental tool in https://github.com/registry-experimental.

Test coverage is above 60% (and climbing!)

Changelog

  • 1b8f3b2 Extend registry export to take patterns and --filter arguments. (#942)
  • 665921c Move files only needed for registry compute commands out of core (#943)
  • 94c5460 Add tests for names package. (#940)
  • d4de027 Add support for exporting, getting, and applying receipts in YAML. (#941)

v0.5.9

13 Jan 17:47
c09afa9
Compare
Choose a tag to compare

Registry tool improvements (preview)

  • registry get now lists resources and returns them in a YAML format when the -o yaml option is provided.
  • registry apply can be used to apply YAML files returned by registry get to the registry.
  • registry export PROJECT can be used to write the entire contents of a registry to a local directory of YAML files.

Changelog

  • c09afa9 Extend the patch package used by registry apply to support lists returned by registry get (#939)
  • ab60a5e fix copyright notices (#938)
  • fd1247b add registry rules for Api (#935)
  • aeaeb36 Add yaml tests for score/conformance protos (#931)
  • c075813 Fix some previously-undetected style concerns in registry check flags. (#930)
  • 87fe83d Remove the "registry upload bulk" subcommand, moving its contents up to "registry upload". (#928)
  • bd04009 move csv test data from "testdata" to "testdata/csv" (#927)
  • c01139e remove "registry upload spec"; it is covered by bulk uploaders and registry apply (#925)
  • ce24435 Add a test to verify that command metadata conforms to expectations. (#918)
  • eeae9c1 add version.PrimarySpec to patch (#924)
  • bebd717 Move "registry export yaml" to "registry export" (#921)
  • 1c24813 Fix lint warnings (#922)
  • 5589dda Remove registry export csv subcommand (moved to registry-experimental). (#920)
  • 0f01d2f Improvements to registry delete (#910)
  • 98c9c9a Update registry get errors to "unsupported pattern" (#916)
  • e027509 Remove redundant print of errors - cobra prints errors so we don't need to (#915)
  • 456a48f Remove registry list command (#908)
  • 999c1e1 Improve registry get to include listing capabilities and yaml output. (#896)
  • 17331c7 Fix patterns for revision collection names. (#912)
  • 0fae722 registry check (#904)
  • 62f428a Remove calls to deprecated SetOutput method (#906)
  • fd78bbb add getContents flag to ListSpecs and ListSpecRevisions (#903)
  • ea8af99 Increase timeout to 60s. (#900)
  • 268e07f Remove upload commands for artifacts, manifests, and styleguides. (#899)
  • 8d7067e Set command output in yaml export tests to keep tests from being too noisy. (#895)

v0.5.8

22 Dec 22:53
5dca1d6
Compare
Choose a tag to compare

Changelog

  • 5dca1d6 Test discovery bulk uploads with a local mock server. (#893)
  • ba8dc43 Add tests for types package (#890)
  • 7dc4595 Export yaml "unbundled" by default into an opinionated directory structure. (#888)
  • 6be8bb7 Support for applying and exporting YAML artifacts (#885)
  • 9463628 consolidate type-related helpers in new types package. (#886)
  • 9c98365 Always use "openapi" as the spec id for bulk-uploaded openapi specs. (#882)
  • 2fdea1d Remove ".zip" extension from spec ids created by uploaders. (#881)
  • 099e509 Restructure "registry apply" tests to only test the command invocation. (#880)
  • 2390f77 Remove "registry export sheet" command. (#878)
  • 2afbe8a Remove v1alpha1 protos and related code. (#868)
  • 9261b55 YAML I/O tests for apis, versions, specs, and deployments (#877)
  • 3b929bb Remove environment variable-based configuration from tests. (#876)
  • f21945d Add tests for additional artifact YAML I/O. (#874)
  • 647db57 Add support for YAML I/O of complexities and vocabularies, begin direct testing of patch package (#872)
  • 9907c81 Remove ".json" extensions from ids of bulk-uploaded discovery specs. (#866)
  • e5853b8 Use WorkerPoolWithWarnings in vocabulary calculations so that a single failure won't abort all other work. (#871)
  • 94d69be Registry tool: improve export yaml to support all artifact types and to include artifact parent when needed (#859)
  • a2acf77 get deployment artifacts and contents (#862)
  • 0acfc10 Update field name for parent resource in logs (#861)
  • 9da8b72 Update generated code (including the CLI) for recently-added fields. (#855)
  • fd90f21 better error message when missing token (#854)
  • 8ead1d0 replace deprecated grpc.WithInsecure()) with grpc.WithTransportCredentials(insecure.NewCredentials()) (#852)
  • 68f1a94 ensure filtering honors requested page size (#849)
  • 1e4693e Ensure that spec and deployment revision tags contain no uppercase characters and are not "-". (#847)
  • aa2b41d Add the original resource to patterns.ResourceInstance (#845)

v0.5.7

17 Nov 18:14
fa370d3
Compare
Choose a tag to compare

Improvements and simplifications to the registry tool + revision-specific artifacts

Many registry tool subcommands now use the configured registry.project as the default, allowing it to be omitted from command arguments.

Artifacts attached to specs and deployments are now associated with specific revisions. This allows a history of artifacts to be kept that is directly associated with revisions. For example, a revision history of specs can be accompanied by lint results and scores attached to each revision.

Changelog

  • fa370d3 Disable tests that list artifacts across projects in hosted mode, fix bugs in listing artifacts across apis. (#842)
  • c05ed76 fix test on postgres 15 (#837)
  • 435dead doc fix (#835)
  • 806865d add primary_spec to version (#834)
  • 1e3742b registry apply labels and annotations on artifacts (#832)
  • d742f8c add labels and annotations to artifacts (#830)
  • 5080c6a Verify that bulk upload parent exists, improve command tests. (#828)
  • 68dce38 filter ListDeploymentRevisions, ListSpecRevisions (#826)
  • 937e76e Add --jobs flag to registry upload csv (#825)
  • 9f23b62 Add --parent option to bulk upload commands and use configured project when --parent is not provided (#817)
  • 0404d98 correct default ordering for all types (#820)
  • dbbb276 upgrade protoc to v21.9 (#824)
  • 1ab9d10 Enhance UpdateSequence tests to verify create and update timestamps. (#816)
  • efa42df Enhance registry compute complexity to support gzipped specs, add test. (#815)
  • f7ae1a8 reuse latestDeploymentRevisionsQuery (#822)
  • 2bada1c noting the wiki in the readme (#821)
  • 5779997 Follow up on clearing up the if conditions (#819)
  • 936fbdc Add support for filters in targetPattern (#806)
  • f3958de artifacts on deployment revisions (#818)
  • 9588598 Add --jobs flag to registry count subcommands. (#814)
  • b64f7cb Add --jobs flag to "registry delete" command. (#812)
  • 70013d0 Add --jobs flag to registry label and registry annotate. (#811)
  • 4a9b866 Add --jobs flag to registry compute subcommands. (#813)
  • 032bcb4 Fix test flakiness by serializing SQLite access in methods called by the bulk upload tests (#810)
  • 5c7ca08 ensure SQLite doesn't lose foreign key contraint (#805)
  • 9c18360 parent spec artifacts on spec revisions (#794)
  • 242dcff Gracefully handle unmatched score definitions (#801)
  • f23c3d5 registry apply YAML import of deployments, versions, specs, and non-project artifacts (#793)
  • 6b88f28 Serialize SQLite mutations, reenable concurrent bulk uploader tests (#797)
  • 1da0f9e Revert #742, add tests to detect future regressions (#796)
  • 400e49e Allow overriding the registry tool configuration in tests. (#784)
  • 7a48c8c Temporarily disable flaky bulk upload tests. (#791)
  • 89cf859 Replace ubuntu-latest in actions with ubuntu-22.04 (#788)
  • 7dbaff7 In testing, don't fallback to sqlite when postgres is specified and unavailable. (#787)
  • dbc994d Pin postgres version used in CI. (#786)
  • 2a6616a Enhance "registry apply" to infer --parent from registry configuration. (#783)
  • 55f60d3 Add simple test of "registry upload bulk protos" (#775)
  • 0c140be Add simple test of "registry upload bulk openapi" (#780)
  • 3aacfd1 Fix lint errors (#762)
  • aba82c0 Issue #575: Use the latest version of GoReleaser (#779)
  • ef5b61a Added spectral lint executables to registry-tools (#772)
  • 92c310f Update admin protos to make project_id a required field of CreateProjectRequest. (#773)
  • bcf410e improve api create message for invalid IDs (#766)
  • d803ce5 Update-deps (#770)
  • bc1c315 use ubuntu-latest (#769)
  • 32dab27 Translate ALREADY_EXISTS error for implicit create (#768)
  • 616e3a9 Make grammar fixes suggested in #763 and add a spelling correction that was lost in a merge. (#764)
  • 234864f Spelling (#763)
  • 9503d93 add foreign key functionality (#760)
  • 66b4363 Return the correct error when ProcessScorePattern fails (#761)
  • 0ceadee optimize paging (#759)
  • 74cea83 stack trace should be debugf (#758)
  • daf364b log db errors with stack before converting (#734)
  • 30bd676 remove extra query in non-revision updates (#742)
  • 9ace10b remove unnecessary code (#756)
  • 0739860 fix error variable names (#754)
  • 2d2a945 move most of wipeout to the server (#757)
  • a33d5d4 Upload dependencies of protos in uploaded APIs. (#728)
  • efab0bd remove extra db query in delete (#738)
  • f6fef9f Registry tool: Deprecate --contents flag on registry get, replace it with --print and --raw (#735)
  • d087e85 fix csv version path (#731)
  • 223bb52 Update generated client code with the latest gapic-generator-go (#732)
  • ed1bbac ensure test isn't affected by external env vars (#729)
  • 5363f29 use prepared statements in postgres (#727)