Releases: apigee/registry
v0.6.6
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
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 newraw
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
- 252e934 Add improved error reporting to
registry apply
. (#1045) - 9d9e8a3 Move YAML encoding support code to pkg/encoding. (#1044)
- 4d2e078 Move pkg/types to pkg/mime (#1042)
- 2c08b37 Move pkg/models to pkg/encoding (#1040)
- bdfd668 Move artifact generated support code into pkg/application/* (#1036)
- a9b7253 Pass filenames of patch files to all patch helpers. (#1034)
- 7ad9443 check
--list-rules
option (#1035) - c137c8f Remove ".yaml" extensions from all spec ids used in tests. (#1033)
- 891333a move types to pkg (#1029)
- 89960c0 Add
-o raw
support toregistry get
. (#1026)
v0.6.4
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
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
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
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
Registry tool improvements
Building on changes previewed in v0.5.9:
registry get
now lists resources and replacesregistry list
, which is removed. When the-o yaml
option is provided,registry get
returns resources in a YAML format. WhenPATTERN
matches multiple objects, a YAML list is returned. When the-o contents
option is specified, contents of spec and artifact resources are written tostdout
.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
andregistry export
accept a--filter
argument. registry apply
can be used to apply all YAML files returned byregistry get
(including lists) andregistry export
to the registry.
Several obsoleted commands have been removed:
registry upload manifest
,registry upload manifest
, andregistry upload manifest
are all replaced byregistry apply
.registry upload spec
is removed, replaced byregistry apply
.
Other command changes include:
- The bulk uploaders ('openapi', 'discovery', 'protos') under
registry upload bulk
are now directly underregistry upload
. registry export csv
is moved to theregistry-experimental
tool in https://github.com/registry-experimental.
Test coverage is above 60% (and climbing!)
Changelog
v0.5.9
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 byregistry 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 byregistry apply
to support lists returned byregistry 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
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
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 onregistry 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)