Skip to content

Releases: raystack/stencil

v0.2.0

16 Feb 13:20
2802018
Compare
Choose a tag to compare

What's Changed

  • feat: stencil cli for namespace and schema by @ishanarya0 in #97
  • docs: migrate to docusaurus for docs by @ravisuhag in #98
  • feat: add refresh strategy to stencil client by @harikrishnakanchi in #99
  • feat!: group server commands by @ravisuhag in #100
  • feat(cli): cli cleanup by @ishanarya0 in #103
  • refactor(cli): delete graph and print cmd files by @ishanarya0 in #106
  • feat: diff between 2 schema versions by @NNcrawler in #104
  • feat(api): add search API by @ramey in #96
  • docs: update stencil docs by @harikrishnakanchi in #107
  • feat(js-client): add refresh strategy to JS client by @harikrishnakanchi in #108
  • docs: update server start instructions by @ravisuhag in #109
  • ci: add releaser and linter by @ravisuhag in #101
  • chore: release 0.2 by @ravisuhag in #110
  • fix(server): capture metrics for custom handlers by @harikrishnakanchi in #111
  • ci: fix release workflow by @harikrishnakanchi in #112

New Contributors

Full Changelog: v0.1.6...v0.2.0

v0.1.6

11 Jan 15:37
Compare
Choose a tag to compare

v0.1.6 (2022-01-11)

⚠ BREAKING CHANGES

  • java-client: removed String getAppName() and boolean shouldAutoRefreshCache()
    methods from StencilClient interface
  • java-client: changed protoUpdateListener to schemaUpdateListener interface.
    Moved statsDClient and schemaUpdateListener to Stencil Config. Removed redundant stencilClientFactory methods.
  • java-client: Cache is updated on every refresh Regardless of the change in schema.
    Introduced version based schema refresh, it utilizes versions API that returns list of available versions provided by stencil server, uses versioned URL to download descriptor.
    This versioned URL returns immutable schema.
    By default previous long polling refresh strategy will be used.
  • java-client: Clients need to construct org.apache.http.Header object, then add it to the list.
    This way clients can have full control over what headers being sent to stencil server.
    For example setting bearer token in previous version would be
StencilConfig config = StencilConfig.builder().fetchAuthBearerToken(token).build();

Above snippet will be changed to

Header authHeader = new BasicHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
List<Header> headers = new ArrayList<Header>();
headers.add(authHeader);
StencilConfig config = StencilConfig.builder().fetchHeaders(headers).build();
  • java-client: removed parser package
  • java-client: DescriptorAndTypeName model was used to keep type name and descriptor together.
    However one can easily generate type name from descriptor by prefixing "." infront of it's fullname

Features

  • java-client: add parse method to StencilClient (38a88c4)
  • java-client: add Parser interface (acd3cda)
  • java-client: add version based schema refresh (8573f0c)
  • java-client: enable toBuilder for StencilConfig (7caae92)
  • java-client: modify apache http library as API (e24c2ae)
  • java-client: move statsDClient, schemaUpdateListener to stencil config (06b24fa)
  • java-client: remove DescriptorAndTypeName model (7800ecf)
  • java-client: remove fetchAuthHeader config and add generic fetchHeaders config. (6c2823c)
  • java-client: set cache TTL default value to 24hrs (a8c69d9)
  • java-client: set default value for fetchbackoffms config (bef158e)
  • java-client: tidy up schemaCacheLoader contructor (ce26370)

Bug Fixes

  • java-client: add json dependency (1b76768)

Code Refactoring

  • java-client: clean up stencil client interface (085f51e)

v0.1.5

07 Dec 13:46
Compare
Choose a tag to compare

v0.1.5 (2021-12-07)

Bug Fixes

  • make config.yaml file optional (b3c57ae)

v0.1.4

07 Dec 10:30
Compare
Choose a tag to compare

v0.1.4 (2021-12-07)

⚠ BREAKING CHANGES

  • server: remove cloud storage support as backend store

Features

  • add caching (#92) (c6f4f34)
  • add cli commands (#53) (78502c1)
  • add CNCF spec compatible apis (#87) (958d3b9)
  • add db abstraction to support multiple dbs (#59) (03104ce)
  • add dev command grouping (ad2189f)
  • add merge descriptor feature providing backward compatibility (#58) (90a8931)
  • add protobuf compatibility checks (#88) (62a5555)
  • add search API (#72) (1cf4b58)
  • add support for visualisation of proto descriptor file dependencies (#71) (fe5bbf0)
  • add type API (#82) (b68d488)
  • embed database migrations (#55) (dd5e8c4)
  • print cmd for uploaded snapshots (#60) (5aca993)
  • support different content types based on schema type (#91) (1fc405e)
  • cmd: add custom help and grouping for commands (#57) (837b40f)
  • go-client: add Serialize() method to serialize data to protobuf (#62) (f81115d)
  • provide flag to load server config (#54) (d2342aa)
  • support gRPC and http apis (#41) (90a5f25)
  • server: add docker-compose for dev setup (a8ab18c)
  • server: add migrate command (d986f36)
  • server: add postgres data store (1cda77d)

Bug Fixes

  • server: handle no data on download api (079cc82)
  • server: upgrade gin version (fc5a2fa)

Code Refactoring

  • server: remove cloud storage support as backend store (d19aad8)

v0.1.3

29 Jun 12:03
Compare
Choose a tag to compare

v0.1.3 (2021-06-29)

Features

  • java-client: replace java-statsd-client dependency with java-dogstatsd-client (fed8f35)
  • server: add dryrun flag for upload API (7e697ab)

Bug Fixes

  • java-client: expose protobuf lib as transitive dependency for consumers (22b410d)
  • java-client: expose statsd lib as transitive dependency for consumers (9bd2108)
  • java-client: specify type in stencilUtils (f33a868)
  • server: check message and enum names for enum and message field types (ce328d8)

v0.1.2

03 Jun 11:57
Compare
Choose a tag to compare

v0.1.2 (2021-06-03)

Features

  • server: make graceful shutdown period configurable (4a11332)

Bug Fixes

  • server: newrelic config not working with envs (e29f048)

v0.1.1

24 May 05:51
Compare
Choose a tag to compare

v0.1.1 (2021-05-23)

Features

  • server: add newrelic support (553fd38)

Bug Fixes

  • server: comparison of proto file options (7f6ea6d)
  • server: handle panics from rule checks (1aa37ad)

Reverts

  • Revert "chore: upload descriptors to new stencil service" (ec1d4b4)

v0.1.0

11 May 18:22
Compare
Choose a tag to compare

(2021-05-11)

⚠ BREAKING CHANGES

  • server: change in API contract. Removed x-scope-orgid header. Moved to namespace param.
    New API endpoints starts with /v1/namespaces/{namespace}.

Features

  • go-client: add default values for options (49b38a7)
  • go-client: add ParseWithRefresh method to GO client (d9a51e7)
  • go-client: add refresh method to client API (904fdd4)
  • js-client: add js stencil client (556825a)
  • server: move x-scope-orgid header to namespace param (d02ac65)
  • add authentication bearer token used for fetch requests (da7a6e0)
  • add backward compatability check to descriptor create API (8d1ba88)
  • add backward compatability rule checks (7dfeb4a)
  • add descriptor APIs (e8e17cc)
  • add docker release in github action (dcd2dc5)
  • add javadoc comments (a7ee4a4)
  • add metadata API (d9499ff)
  • add skipRules field in descriptor upload API (4071991)
  • add stencil go client (b4c4ed5)

Bug Fixes

  • server: POST descriptor API to throw error if descriptor already exists (240a176)
  • gradle project versioning (f0d3db7)
  • handle file not found errors (df0fd3f)
  • handle uploaded file read error (a93f4e2)
  • hide meta.json in listing (deebb9c)
  • incorrect proto name where javapackage or protopackage is empty (69de5e8)
  • nil reader error if file is not found (54ba89d)

Reverts

  • Revert "nexus-setup: add release step to publish to central maven" (c748cd7)