diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ae5d8a72..bc9390f49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and Yorkie adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) ## [Unreleased] +## [0.5.5] - 2024-11-07 + +### Added + +- Introduce dedicated event publisher per document by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1052 + +### Changed + +- Update Authorization Webhook Response Format and Handling by @chacha912 in https://github.com/yorkie-team/yorkie/pull/1037 + +### Fixed + +- Fix version vector validation when running migration by @JOOHOJANG in https://github.com/yorkie-team/yorkie/pull/1057 + ## [0.5.4] - 2024-10-28 ### Added diff --git a/Makefile b/Makefile index 7f8671e50..5ab6f4ca3 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -YORKIE_VERSION := 0.5.4 +YORKIE_VERSION := 0.5.5 GO_PROJECT = github.com/yorkie-team/yorkie diff --git a/api/docs/yorkie.base.yaml b/api/docs/yorkie.base.yaml index 2825882e9..1e598d3d0 100644 --- a/api/docs/yorkie.base.yaml +++ b/api/docs/yorkie.base.yaml @@ -2,7 +2,7 @@ openapi: 3.1.0 info: title: Yorkie description: "Yorkie is an open source document store for building collaborative editing applications." - version: v0.5.4 + version: v0.5.5 servers: - url: https://api.yorkie.dev description: Production server diff --git a/api/docs/yorkie/v1/admin.openapi.yaml b/api/docs/yorkie/v1/admin.openapi.yaml index 2dd393c0c..07f532f33 100644 --- a/api/docs/yorkie/v1/admin.openapi.yaml +++ b/api/docs/yorkie/v1/admin.openapi.yaml @@ -4,7 +4,7 @@ info: Yorkie is an open source document store for building collaborative editing applications. title: Yorkie - version: v0.5.4 + version: v0.5.5 servers: - description: Production server url: https://api.yorkie.dev diff --git a/api/docs/yorkie/v1/cluster.openapi.yaml b/api/docs/yorkie/v1/cluster.openapi.yaml index 94f60d0fb..7f37b47dc 100644 --- a/api/docs/yorkie/v1/cluster.openapi.yaml +++ b/api/docs/yorkie/v1/cluster.openapi.yaml @@ -4,7 +4,7 @@ info: Yorkie is an open source document store for building collaborative editing applications. title: Yorkie - version: v0.5.4 + version: v0.5.5 servers: - description: Production server url: https://api.yorkie.dev diff --git a/api/docs/yorkie/v1/resources.openapi.yaml b/api/docs/yorkie/v1/resources.openapi.yaml index dcde1d3c8..5aa88ab78 100644 --- a/api/docs/yorkie/v1/resources.openapi.yaml +++ b/api/docs/yorkie/v1/resources.openapi.yaml @@ -4,7 +4,7 @@ info: Yorkie is an open source document store for building collaborative editing applications. title: Yorkie - version: v0.5.4 + version: v0.5.5 servers: - description: Production server url: https://api.yorkie.dev diff --git a/api/docs/yorkie/v1/system.openapi.yaml b/api/docs/yorkie/v1/system.openapi.yaml deleted file mode 100644 index 11b8585d0..000000000 --- a/api/docs/yorkie/v1/system.openapi.yaml +++ /dev/null @@ -1,312 +0,0 @@ -openapi: 3.1.0 -info: - description: - Yorkie is an open source document store for building collaborative - editing applications. - title: Yorkie - version: v0.5.4 -servers: - - description: Production server - url: https://api.yorkie.dev - - description: Local server - url: http://localhost:8080 -paths: - /yorkie.v1.SystemService/DetachDocument: - post: - description: "" - requestBody: - $ref: "#/components/requestBodies/yorkie.v1.SystemService.DetachDocument.yorkie.v1.SystemServiceDetachDocumentRequest" - responses: - "200": - $ref: "#/components/responses/yorkie.v1.SystemService.DetachDocument.yorkie.v1.SystemServiceDetachDocumentResponse" - default: - $ref: "#/components/responses/connect.error" - tags: - - yorkie.v1.SystemService -components: - requestBodies: - yorkie.v1.SystemService.DetachDocument.yorkie.v1.SystemServiceDetachDocumentRequest: - content: - application/json: - schema: - $ref: "#/components/schemas/yorkie.v1.SystemServiceDetachDocumentRequest" - application/proto: - schema: - $ref: "#/components/schemas/yorkie.v1.SystemServiceDetachDocumentRequest" - required: true - responses: - connect.error: - content: - application/json: - schema: - $ref: "#/components/schemas/connect.error" - application/proto: - schema: - $ref: "#/components/schemas/connect.error" - description: "" - yorkie.v1.SystemService.DetachDocument.yorkie.v1.SystemServiceDetachDocumentResponse: - content: - application/json: - schema: - $ref: "#/components/schemas/yorkie.v1.SystemServiceDetachDocumentResponse" - application/proto: - schema: - $ref: "#/components/schemas/yorkie.v1.SystemServiceDetachDocumentResponse" - description: "" - schemas: - connect.error: - additionalProperties: false - description: "Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation" - properties: - code: - enum: - - CodeCanceled - - CodeUnknown - - CodeInvalidArgument - - CodeDeadlineExceeded - - CodeNotFound - - CodeAlreadyExists - - CodePermissionDenied - - CodeResourceExhausted - - CodeFailedPrecondition - - CodeAborted - - CodeOutOfRange - - CodeInternal - - CodeUnavailable - - CodeDataLoss - - CodeUnauthenticated - examples: - - CodeNotFound - type: string - message: - type: string - title: Connect Error - type: object - google.protobuf.Timestamp: - additionalProperties: false - description: |- - A Timestamp represents a point in time independent of any time zone or local - calendar, encoded as a count of seconds and fractions of seconds at - nanosecond resolution. The count is relative to an epoch at UTC midnight on - January 1, 1970, in the proleptic Gregorian calendar which extends the - Gregorian calendar backwards to year one. - - All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - second table is needed for interpretation, using a [24-hour linear - smear](https://developers.google.com/time/smear). - - The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - restricting to that range, we ensure that we can convert to and from [RFC - 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - - # Examples - - Example 1: Compute Timestamp from POSIX `time()`. - - Timestamp timestamp; - timestamp.set_seconds(time(NULL)); - timestamp.set_nanos(0); - - Example 2: Compute Timestamp from POSIX `gettimeofday()`. - - struct timeval tv; - gettimeofday(&tv, NULL); - - Timestamp timestamp; - timestamp.set_seconds(tv.tv_sec); - timestamp.set_nanos(tv.tv_usec * 1000); - - Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - - FILETIME ft; - GetSystemTimeAsFileTime(&ft); - UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - - // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - Timestamp timestamp; - timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - - Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - - long millis = System.currentTimeMillis(); - - Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - .setNanos((int) ((millis % 1000) * 1000000)).build(); - - Example 5: Compute Timestamp from Java `Instant.now()`. - - Instant now = Instant.now(); - - Timestamp timestamp = - Timestamp.newBuilder().setSeconds(now.getEpochSecond()) - .setNanos(now.getNano()).build(); - - Example 6: Compute Timestamp from current time in Python. - - timestamp = Timestamp() - timestamp.GetCurrentTime() - - # JSON Mapping - - In JSON format, the Timestamp type is encoded as a string in the - [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - where {year} is always expressed using four digits while {month}, {day}, - {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - is required. A proto3 JSON serializer should always use UTC (as indicated by - "Z") when printing the Timestamp type and a proto3 JSON parser should be - able to accept both UTC and other timezones (as indicated by an offset). - - For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - 01:30 UTC on January 15, 2017. - - In JavaScript, one can convert a Date object to this format using the - standard - [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - method. In Python, a standard `datetime.datetime` object can be converted - to this format using - [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - the Joda Time's [`ISODateTimeFormat.dateTime()`]( - http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() - ) to obtain a formatter capable of generating timestamps in this format. - format: date-time - type: string - yorkie.v1.DocumentSummary: - additionalProperties: false - description: "" - properties: - accessedAt: - $ref: "#/components/schemas/google.protobuf.Timestamp" - additionalProperties: false - description: "" - title: accessed_at - type: object - createdAt: - $ref: "#/components/schemas/google.protobuf.Timestamp" - additionalProperties: false - description: "" - title: created_at - type: object - id: - additionalProperties: false - description: "" - title: id - type: string - key: - additionalProperties: false - description: "" - title: key - type: string - snapshot: - additionalProperties: false - description: "" - title: snapshot - type: string - updatedAt: - $ref: "#/components/schemas/google.protobuf.Timestamp" - additionalProperties: false - description: "" - title: updated_at - type: object - title: DocumentSummary - type: object - yorkie.v1.Project: - additionalProperties: false - description: "" - properties: - authWebhookMethods: - additionalProperties: false - description: "" - items: - type: string - title: auth_webhook_methods - type: array - authWebhookUrl: - additionalProperties: false - description: "" - title: auth_webhook_url - type: string - clientDeactivateThreshold: - additionalProperties: false - description: "" - title: client_deactivate_threshold - type: string - createdAt: - $ref: "#/components/schemas/google.protobuf.Timestamp" - additionalProperties: false - description: "" - title: created_at - type: object - id: - additionalProperties: false - description: "" - title: id - type: string - name: - additionalProperties: false - description: "" - title: name - type: string - publicKey: - additionalProperties: false - description: "" - title: public_key - type: string - secretKey: - additionalProperties: false - description: "" - title: secret_key - type: string - updatedAt: - $ref: "#/components/schemas/google.protobuf.Timestamp" - additionalProperties: false - description: "" - title: updated_at - type: object - title: Project - type: object - yorkie.v1.SystemServiceDetachDocumentRequest: - additionalProperties: false - description: "" - properties: - clientId: - additionalProperties: false - description: "" - title: client_id - type: string - documentSummary: - $ref: "#/components/schemas/yorkie.v1.DocumentSummary" - additionalProperties: false - description: "" - title: document_summary - type: object - project: - $ref: "#/components/schemas/yorkie.v1.Project" - additionalProperties: false - description: - "TODO(hackerwins): Consider to replace this fields with types.Project, - types.Client, types.DocumentSummary" - title: project - type: object - title: SystemServiceDetachDocumentRequest - type: object - yorkie.v1.SystemServiceDetachDocumentResponse: - additionalProperties: false - description: "" - title: SystemServiceDetachDocumentResponse - type: object - securitySchemes: - ApiKeyAuth: - in: header - name: Authorization - type: apiKey -security: - - ApiKeyAuth: [] -tags: - - description: System is a service that provides an API for Cluster. - name: yorkie.v1.SystemService diff --git a/api/docs/yorkie/v1/yorkie.openapi.yaml b/api/docs/yorkie/v1/yorkie.openapi.yaml index 299cfcb51..a898fb893 100644 --- a/api/docs/yorkie/v1/yorkie.openapi.yaml +++ b/api/docs/yorkie/v1/yorkie.openapi.yaml @@ -4,7 +4,7 @@ info: Yorkie is an open source document store for building collaborative editing applications. title: Yorkie - version: v0.5.4 + version: v0.5.5 servers: - description: Production server url: https://api.yorkie.dev diff --git a/build/charts/yorkie-cluster/Chart.yaml b/build/charts/yorkie-cluster/Chart.yaml index 43d8806c2..4f0c8f553 100644 --- a/build/charts/yorkie-cluster/Chart.yaml +++ b/build/charts/yorkie-cluster/Chart.yaml @@ -11,8 +11,8 @@ maintainers: sources: - https://github.com/yorkie-team/yorkie -version: 0.5.4 -appVersion: "0.5.4" +version: 0.5.5 +appVersion: "0.5.5" kubeVersion: ">=1.23.0-0" dependencies: