v0.3.5 released
Over the last few weeks I’ve been making a handful of modifications to the project. There was some restructuring to make things easier to navigate but as usual… I missed something in the process. Hence the multiples of releases. Below, I call out to a summary of the versions and known issues.
- 0.3.2 - issues with extractor and tracker startup.
- 0.3.3 - issues with tracker startup for read-only deployments
- 0.3.4 - Stable
- 0.3.5 - Stable
Features
feat(gh-301): add tree command
Occasionally, software systems encounter cycles in the graph.
When this happens, the deps.cloud topology
query truncates silently (not great).
To help give more information to callers, we added a “tree” command that will return the entire subtree (nodes and edges included).
With the addition of this new tree
command, we’ve updated the topology
command to write an error when it encounters a cycle.
Users will still be able to obtain partial orders… but will need to handle the err message at the end.
feat(gh-15): support field indexes
Data stored in deps.cloud now has some minor indexing support to improve exploration.
This mostly started as an idea, but was able to grow into a useful implemenation rather quick.
In order to support indexes, we did need to refactor some elements around the database layer.
We currently index a handful of fields (namely, url
on sources and language
and name
for modules).
This allows clients to quickly search for nodes in their graph and use subsequent calls for traversals.
New Endpoints
By adding support for field indexes, we were able to implement the following endpoints in REST and gRPC.
Description | Endpoints |
---|---|
List languages deps.cloud has modules for. | grpc - depscloud.api.v1beta.LanguageService#List |
rest - /v1beta/languages |
|
cli - deps get languages |
|
Search modules containing the provided name part. | grpc - depscloud.api.v1beta.ModuleService#Search |
rest - /v1beta/modules/search?like.name=xxx |
|
cli - deps search modules |
|
Search sources containing the provided url part. | grpc - depscloud.api.v1beta.SourceService#Search |
rest - /v1beta/sources/search?like.url=xxx |
|
cli - deps search sources |
feat(gh-228): move off gogo protobuf
For better compatibility with the standard tooling provided by the community, we moved from the gogo to upstream protobuf.
From a usage perspective, you shouldn’t notice a difference.
A big benefit to the project is that we should be able to leverage the reflection API instead of managing a static routing table in gateway
.
Upgrade to Node 16
We’ve upgraded the extractor process to use NodeJS 16.
This is a pretty major upgrade considering the last version we were running on was NodeJS 12.
For the most part, not much changed that impacted the extractor
process.
There were some minor modifications, but nothing that appeared to impact the overall functionality.
Notable Fixes
- fix: refactor the database layer (#293) 3547dc0
- fix: use repo url to infer vendor.conf files f84759a
- fix: cleanup remaining references to older terminology pairs 49d4fcf
- fix: remove warning output for healthcheck a74639f
- fix: guard against npe 1ac61b9a
- fix: upgrade express-prometheus-middleware 122c3305