Releases: apigee/registry
v0.5.6
New configuration for registry tool, database-related improvements to registry-server
This release adds a new configuration mechanism to the registry
tool that is modeled after the gcloud
command. See the documentation for pkg/connection or run registry help config
for details.
This release also includes database-related improvements to registry-server
that include:
- performing all mutable actions in transactions #700).
- returning appropriate (and retryable) gRPC status codes for many database-related errors (#682, #714).
- setting limits on connection counts to avoid overloading database backends (#725).
There were also semantic improvements to the core API:
- The last remaining spec (#698) and deployment (#718) revisions cannot be deleted without explicitly deleting the entire spec or deployment (https://google.aip.dev/162#deleting-revisions and #257).
Additionally, numerous improvements were made to the registry
tool related to API scoring. See commit notes for details.
Changelog
- 86315f3 Set limits on the number and lifetime of connections. (#725)
- 8e82f10 deprecation warning for client env var use (#721)
- f1e9153 Lock the table of affected entities during update operations. (#720)
- f641fbe #711 ensure environment variables are scoped to the script (#716)
- 68842b0 prevent deletion of the last deployment revision (#718)
- 952753d Registry server: report AlreadyExists errors in updates as Abort to cause them to be retried (#715)
- 0a574b1 Registry server: wrap mutating actions in transactions (#700)
- e9c6f8c Add handlers for more possible errors that can arise during load-testing. (#714)
- 1777bc2 Support max-actions flag in resolve (#710)
- d172582 Remove check for specName while performing linting (#711)
- 76088d4 Update logging interceptor to print all gRPC status codes. (#713)
- e65afe0 #701 Update windows auth file to use registry configurations (#712)
- 7ae47d6 fix readme formatting (#707)
- e4ecf46 use more simple and efficient gorm upsert for save (#705)
- 8f052b4 lint fix - simplify (#704)
- 0ee1a0d Registry tool: Use
registry config
instead of env vars for scripts (#699) - 7bf958e improve create entity validation and efficiency (#694)
- b108d39 disallow delete of only SpecRevision (#698)
- 8bd4082 clone active w/ flags on config create (#695)
- 8029db1 Add documentation to config and auth commands (#696)
- 1343f69 Add information about server conformance and benchmark tests to the top-level README. (#690)
- 33decc7 Fix out of range error for scores (#689)
- 999f425 Remove cmd/registry/cmd/util.go (#687)
- 8f8da52 Expand handling of database error codes (#682)
- 0382b31 add project, location config and allow short names (#683)
- a22d4ca ignore ext
APG_REGISTRY
vars in config tests (#685) - ba99327 Registry tool: add auth handling (#681)
v0.5.5
Ordering Support in List Methods
This release adds support for order_by
fields in all list operations. For details, see comments alongside the new field declarations (example).
Additionally:
- Core server tests can be run against remote installations.
- registry tool configuration is now persisted in a configuration file and managed with registry tool commands.
- Additional data is included in API style conformance reports.
Changelog
- 8b58a46 Add metadata to conformance report (#680)
- 213371d Update timestamp condition in scoring logic (#679)
- 6ff58d9 Add CLI commands to manage config file (#671)
- 7935c83 Support ordering in list operations (#674)
- e7f9deb Replace filtering.Field type with maps (#678)
- dfc3189 Bump protoc version to 3.21.3 (#673)
- 9bf1213 Update timestamp condition to figure out resource regeneration (#653)
- 4718fe1 Minor cleanup to CI tests (#670)
- 4c73c4a Reorganize CI testing to move standalone tests later. (#669)
- a14cd98 Update test proxy to allow core tests to run against remote hosted servers (#664)
- 2c94ac7 replace NewClient with NewRegistryClient (#665)
- 62bdd9f Add simple tests for the MigrateDatabase admin rpc. (#655)
- 19c5ef3 Explicitly test listing artifacts of all parent types. (#656)
- a7a3a44 Enable config file usage and flags (#659)
v0.5.4
Improved error handling in registry-server
plus controller and testing improvements
This release also includes structs in pkg/models
that can be used to create YAML structures from import with the registry
tool.
Changelog
- 7bc06ba YAML structs (#657)
- d377e31 Update wipeout test to use an auto-started server when necessary. (#654)
- 50d5ceb Remove unencessary env vars (#648)
- 9e1531c refactor: move /connection to /pkg/connection (#652)
- ba2e6aa Wipeout test (#639)
- 96abc4d Registry server: reuse PubSub client (#638)
- aeb9ce9 Ensure that when artifacts are deleted, the deployment id matches. (#637)
- 48a4496 Minimal initial benchmarks (#631)
- b8aac2d Add --jobs flag to limit the number of parallel workers in the controller (#634)
- 82c6230 Registry server: reuse db connections (#627)
- c180a8e Fix gzip validation for UpdateApiSpec (#628)
- 40ba2cb Use an embedded registry instance for unit tests (#610)
- 4701f38 Add new low-level db.create() method that properly returns "AlreadyExists" (#615)
- a6d7045 improve filtering coverage (#621)
- 3b7533f Registry server: remove client mutex (#620)
v0.5.3
This contains a small update to registry-server
that measures and logs lock acquisition delay in update methods, primarily to inform future improvements.
There are also a few changes to the registry
tool related to work-in-progress related to style guides and scoring. Commit titles include:
- Fix mime_type while uploading scorecards
- Start using official styleguide protos in v1
- Implement the behavior of "refresh" field in manifest definition
v0.5.2
registry tool and server improvements
registry
tool improvements:
- YAML I/O is improved to run in parallel for import/export of entire projects.
- YAML I/O supports additional artifact types (apihub extensions, used to add features to the API hub application).
- Registry tool supports two new sub commands,
registry compute score
andregistry compute scorecards
.
registry-server
improvements:
- When the
accept-encoding
header is received and includesgzip
, get spec contents requests return gzipped spec bodies. This allows specs to be stored that exceed the maximum gRPC message size (when uncompressed). It was already possible to upload these specs by sending them gzipped, but prior to this change, the specgetContents
API would always attempt to return uncompressed specs. - When a postgresql create operation fails due to a
unique_key
violation, the API now returns the gRPCAlreadyExists
status. Previously it returnedInternal
, suggesting that that was an internal error inregistry-server
.
v0.5.1
v0.5.0
Public Preview
This is a re-tagging of v0.4.6 that corresponds to the first public preview of the hosted Apigee Registry API.
v0.4.6
Go 1.18 builds, release binaries of the registry tool
Changelog
- d114442 #526 : Release binaries for Registry Tools (#537)
- b0715f5 Validation function for ScoreDefinition (#536)
- 6119e13 Update Go version to 1.18 (#539)
- d022e84 Make range required in NumberThreshold. (#538)
- e291557 Update generated openapi.yaml (#534)
- 6404a33 Find a better name for 'pattern' in ScoreFormula -> 'artifact' (#533)
- bcf6372 Support for uploading scoreDefinition and ScoreCardDefinition (#529)
- 6affe78 Add code coverage checks to the repository (#460)
- 66168c9 Fix inconsistency in target and target_resource (#530)
- 7108dd6 Add scorecard protos (#527)
Improved performance, YAML resource upload
This release adds significant performance improvements to listings of large collections and a new support for wildcards when listing revisions (this allows spec and deployment revisions to be listed across multiple versions and APIs). Along with other small bug fixes and general cleanup, it includes a new apply
subcommand of the registry
tool that is designed to work like kubectl apply
. This allows APIs and artifacts to be uploaded to a registry from YAML source files, and will likely be extended to directly support all resource types (currently deployments, versions, and specs can be uploaded as subresources of APIs).
One field in specs was removed: revision_tags
, which returns the tags used to tag a particular revision. We found this costly to maintain and rarely (if ever) used, so we've removed that and are open to discussions of alternate ways to obtain this information.
Revision ordering bug fix
This release contains a bug fix #468 that fixes causes the most recent revision of a spec to be returned by calls to GetSpec
and similarly, the most recent revision of a deployment is now returned by GetDeployment
.