diff --git a/CHANGELOG.md b/CHANGELOG.md index cf2d628094f9f035eb5f891fa406110a2e5f65cf..5af3a51fde2ec7a484074b6be3b7e170d457b2b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,138 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [4.0.0-beta.0](https://gitlab.coko.foundation/cokoapps/server/compare/v3.13.2...v4.0.0-beta.0) (2024-08-29) + + +### âš BREAKING CHANGES + +* s3 protocol, host, port is now url +* **server:** drop hardcoded POSTGRES_ALLOW_SELF_SIGNED_CERTIFICATES reference +* **models:** deleting a chat channel now deletes its messages too +* **graphql:** Renamed types TeamsResponse and ChatChannelResponse to Teams and ChatChannels respectively. +* **graphql:** Renamed sendMessage, editMessage and deleteMessage to senChatMessage, editChatMessage and +deleteChatMessage respectively. UpdateUserInput id is now not nullable. +* **graphql:** renamed gql chatChannels where to filter +* **graphql:** renamed gql users options to users pagination +* **graphql:** renamed UserQueryParams to UserFilter +* **graphql:** gql user id param and user result are not nullable +* **graphql:** gql totalCount is now not nullable +* **graphql:** make teamMember id and user in gql not-nullable +* **graphql:** drop getGlobalTeams, getObjectTeams, rename TeamWhereInput to TeamFilter +* **models:** chat threads renamed to chat channels, chat message chatThreadId renamed to chatChannelId +* **models:** graphql UpdateInput has been renamed to UpdateUserInput. identityId has been dropped from +UpdateInput. +* **models:** deleteByIds does not return ids but number of rows now +* **models:** delete identities on user deletion +* ctx.user is renamed to ctx.userId +* **server:** renamed pubsub to subscriptionManager +* **server:** allow unauthenticated subscriptions +* rename filestorage deletefiles to delete +* drop connectToFileStorage and rename fileStorage to FileStorage +* **models:** modelTypes is now modelJsonSchemaTypes +* **models:** all nullable model types now have a default of null +* password reset token expiry now has default value (24 hours) +* drop exporting startServer +* drop extending typedefs and resolvers through config +* drop upload to disk endpoints +* drop serveClient option +* drop automatically serving _build and static folders +* **db manager:** drop createTables script +* drop extending the express app +* changed teams config structure +* dropped password-reset.token-length +* config.password-reset renamed to config.passwordReset +* drop extending apollo through config +* dropped pubsweet from config +* dropped pubsweet-server from config +* **db manager:** drop DATABASE_URL environment variable + +### Features + +* add helpful error message for pubsweet config changes ([c82b1da](https://gitlab.coko.foundation/cokoapps/server/commit/c82b1da44cebbd49afd0df9b5cfc1f71b2c122ac)) +* add job manager and job definitions config ([bfa6b22](https://gitlab.coko.foundation/cokoapps/server/commit/bfa6b22901f8d7b39f8c2210374a98d8f7a98017)) +* add messages for removed keys ([52d0880](https://gitlab.coko.foundation/cokoapps/server/commit/52d0880e2de14e97d5e87a3a79fe87b2b017504c)) +* add meta table and constraints on migration files ([6d906bc](https://gitlab.coko.foundation/cokoapps/server/commit/6d906bc2887ebb0c3658df0e02ef4a59a72700fb)) +* add onStartup hook for custom init scripts ([3c43420](https://gitlab.coko.foundation/cokoapps/server/commit/3c43420317036da1ed600a4d792c555d4d9bb953)) +* add write to temp util ([e4ccbde](https://gitlab.coko.foundation/cokoapps/server/commit/e4ccbde6c8ddbea469e84290c6c434a138125bb1)) +* allow config to define mount point for static folders ([85fe5b5](https://gitlab.coko.foundation/cokoapps/server/commit/85fe5b55585f9e63a9f48d32e38ed18d37c0db81)) +* check for db connection at startup ([d28c24f](https://gitlab.coko.foundation/cokoapps/server/commit/d28c24f3d7e607466430efbecb66dbacf6fdb086)) +* **cli:** add circular command ([5242ba2](https://gitlab.coko.foundation/cokoapps/server/commit/5242ba25fdc48c6471e447b52fb621023f79396d)) +* **cli:** add start command ([c06e2f3](https://gitlab.coko.foundation/cokoapps/server/commit/c06e2f31c459838e541c08a8fdba74cae56aa979)) +* **cli:** add start-dev command ([24b9821](https://gitlab.coko.foundation/cokoapps/server/commit/24b982150c83d5bbd0c3d4009b0e308ed40d27d2)) +* **cli:** expand migrate command functionality ([633d485](https://gitlab.coko.foundation/cokoapps/server/commit/633d485c5fa6ad79601bcfaf03993a2a7bd2d26e)) +* **db manager:** drop DATABASE_URL environment variable ([4f52e20](https://gitlab.coko.foundation/cokoapps/server/commit/4f52e204ca763d57797836b80e629f8fdce0446a)) +* **db manager:** remove create tables script ([6decbef](https://gitlab.coko.foundation/cokoapps/server/commit/6decbef1d5a2cc3ec0da121f445a4269f18d4f5e)) +* define static folders to serve through config ([41f9b26](https://gitlab.coko.foundation/cokoapps/server/commit/41f9b26305a4db740d3ce8bb6c299b3c44a113a8)) +* drop app.locals and @pubsweet/models ([35a424b](https://gitlab.coko.foundation/cokoapps/server/commit/35a424bb5120912279527a105befba1f3b8087a2)) +* drop authsome ([8dab3e5](https://gitlab.coko.foundation/cokoapps/server/commit/8dab3e5759f4e42817c0eb850fcd101e7c489921)) +* drop entities table via core migrations ([8e33a50](https://gitlab.coko.foundation/cokoapps/server/commit/8e33a50a49f4ffe7224015e44d8590ee48ee8f44)) +* dropped connectors ([fdd0d8e](https://gitlab.coko.foundation/cokoapps/server/commit/fdd0d8e0757bfbe341b7dba9bab11959e4bca513)) +* dropped password reset token length config option ([38f4a11](https://gitlab.coko.foundation/cokoapps/server/commit/38f4a1129dff945a5a8d833e5bd3cba46756abf8)) +* export withFilter for subscriptions ([fbea60d](https://gitlab.coko.foundation/cokoapps/server/commit/fbea60d739d8b06bcf7a3c7b7e0a70f64ee81495)) +* expose graphql test server for api testing ([870ea1b](https://gitlab.coko.foundation/cokoapps/server/commit/870ea1ba3be96277efe0822ba2a9097253f700ce)) +* expose standardized temp folder path ([eb68bc8](https://gitlab.coko.foundation/cokoapps/server/commit/eb68bc8232048b5e99ca18027cd9d3fd2edb8642)) +* expose temp folder utility functions ([7593192](https://gitlab.coko.foundation/cokoapps/server/commit/7593192d4cb3b45cb8e0aed613f6f0ec7554679f)) +* **fileStorage:** allow file storage connection config to be overriden through createfile and deletefile ([a37f2ea](https://gitlab.coko.foundation/cokoapps/server/commit/a37f2ea17f1226fced582d9750205c74cec4b7d6)) +* **graphql:** rename chat channels where to filter and add api tests ([df46d65](https://gitlab.coko.foundation/cokoapps/server/commit/df46d658054a4cc55aade816373ed437f976e0e4)) +* **graphql:** rename chat message mutations and add docs for all mutations ([19adcd0](https://gitlab.coko.foundation/cokoapps/server/commit/19adcd09340498ba610a02b56e5caab22093c259)) +* **graphql:** rename users options to pagination ([33c3e79](https://gitlab.coko.foundation/cokoapps/server/commit/33c3e799ead7aeca9b25313f3a992f98b2d3a693)) +* **graphql:** simplify type naming for teams and chat channels ([dff3adb](https://gitlab.coko.foundation/cokoapps/server/commit/dff3adbba1bb412aa6e43fe4457a0912ac53208a)) +* **graphql:** update team graphql api ([ebd04d5](https://gitlab.coko.foundation/cokoapps/server/commit/ebd04d544a385539fad75490ddc0c62fb741bd4e)) +* **graphql:** user query params is now user filter ([347b780](https://gitlab.coko.foundation/cokoapps/server/commit/347b780f3addeb7087fbf3be5d33bdc6f654d335)) +* improve config validations ([662f16a](https://gitlab.coko.foundation/cokoapps/server/commit/662f16a71de75cf6992a7a054afe03f1063318a9)) +* install pgcrypto via core migrations ([f3f710d](https://gitlab.coko.foundation/cokoapps/server/commit/f3f710dea6b645c8d264e7a30c5d0ee9f11e3a0f)) +* make all config pubsweet keys top-level ([53dcc94](https://gitlab.coko.foundation/cokoapps/server/commit/53dcc94d5785e5b791b9516fc9177fe7469bd0de)) +* make all config pubsweet-server keys top-level ([ff81563](https://gitlab.coko.foundation/cokoapps/server/commit/ff8156324fd9b767669688ad9b84aa44281cf852)) +* make file storage a singleton class ([64ed7c3](https://gitlab.coko.foundation/cokoapps/server/commit/64ed7c31a45110ae5bf616926250827273991a54)) +* make teams configs arrays ([c89bf90](https://gitlab.coko.foundation/cokoapps/server/commit/c89bf90e04e475c5bf2d35533a72c3ef18f1af92)) +* **models:** base model delete by ids returns number of affected rows ([14c688e](https://gitlab.coko.foundation/cokoapps/server/commit/14c688e9a9f0d1db75a80885ea7778eab001adf9)) +* **models:** delete chat messages on chat channel delete cascade ([dfe071c](https://gitlab.coko.foundation/cokoapps/server/commit/dfe071c1aec6721860184834c88c4e8ddcdea404)) +* **models:** delete identities on cascade when user delete happens ([467ef39](https://gitlab.coko.foundation/cokoapps/server/commit/467ef396e891df9d5267cc06ae51b41d3c2c6937)) +* **models:** export models directly from coko server ([fa9b8d1](https://gitlab.coko.foundation/cokoapps/server/commit/fa9b8d1cbff19df3e7575018a66d64c26ce04942)) +* **models:** rename chat threads to chat channels ([e6f7649](https://gitlab.coko.foundation/cokoapps/server/commit/e6f76496b7c57f5a71c3f19d11b55de15f47bd60)) +* **models:** rename exported modelTypes to modelJsonSchemaTypes ([53c6d01](https://gitlab.coko.foundation/cokoapps/server/commit/53c6d019505202f1e7b007a6f47a26273cb0a1b4)) +* **models:** rename UpdateInput to UpdateUserInput ([2676458](https://gitlab.coko.foundation/cokoapps/server/commit/2676458191323c53d1ec7119e0b70b97f135e0e6)) +* **models:** skip full size image migration if file storage is not used at all ([a9f447f](https://gitlab.coko.foundation/cokoapps/server/commit/a9f447f3aefbff15e4ed62df3695e13689570477)) +* only update migrate checkpoint if it has changed ([7b8a576](https://gitlab.coko.foundation/cokoapps/server/commit/7b8a5764f63ea272e479f8de90f03b8b70b2df33)) +* remove config option to serve client ([b098a4b](https://gitlab.coko.foundation/cokoapps/server/commit/b098a4b26f88eeb3de9ccd87954750cc5c6d3211)) +* remove config.apollo from configuration ([70e26ac](https://gitlab.coko.foundation/cokoapps/server/commit/70e26ac0ba9d9829c9358ca72207d5677b5a02bf)) +* remove option to extend the express app ([2039f87](https://gitlab.coko.foundation/cokoapps/server/commit/2039f87c50cbd00bfa35d1eb3f700fe6d8bbeec1)) +* remove option to extend typedefs and resolvers through config ([c42abad](https://gitlab.coko.foundation/cokoapps/server/commit/c42abad0def54c7292d37146d756a6e7300fa2d4)) +* remove start server export ([57cbc86](https://gitlab.coko.foundation/cokoapps/server/commit/57cbc8666ef1448133ef32e807f970e6e539b063)) +* remove upload to disk endpoints and uploads config ([c71eb55](https://gitlab.coko.foundation/cokoapps/server/commit/c71eb559fd6dd704cdb2c1458aae9755076e06c0)) +* rename ctx.user in graphql to ctx.userId ([ea7da11](https://gitlab.coko.foundation/cokoapps/server/commit/ea7da11b734ceabee26c0aa0f4f9b006bdb50373)) +* rename filestorage deleteFiles to delete ([8c876b9](https://gitlab.coko.foundation/cokoapps/server/commit/8c876b986a88a4b49b4136edc4218008c6d50abe)) +* rename password reset config to camelcase ([6255f95](https://gitlab.coko.foundation/cokoapps/server/commit/6255f95c281f55c6932b24001633131f911b5045)) +* **server:** add option to add custom shutdown scripts ([e5bca73](https://gitlab.coko.foundation/cokoapps/server/commit/e5bca73af19f2b22af37cc2415680a1c471f5eae)) +* **server:** do not throw error when subscriptions do not provide an auth token ([5b485db](https://gitlab.coko.foundation/cokoapps/server/commit/5b485db3b9eb5228fb47fa4ad09866f6513f3a02)) +* **server:** expose subscription manager instead of pubsub and make less verbose ([b046ca1](https://gitlab.coko.foundation/cokoapps/server/commit/b046ca17c0d915ba05f669d3e90cfaf93593ab18)) +* **server:** make mailer fall back on ethereal if not in prod and overridable ([997ad99](https://gitlab.coko.foundation/cokoapps/server/commit/997ad9943e337c2590524a11dcd22d24f587636b)) +* **server:** record last successful migrate run ([f704050](https://gitlab.coko.foundation/cokoapps/server/commit/f704050139f152e59373602153580318aeb5a2a8)) +* **server:** remove hardcoded POSTGRES_ALLOW_SELF_SIGNED_CERTIFICATES reference, let app handle it ([c95bcef](https://gitlab.coko.foundation/cokoapps/server/commit/c95bcefc5927a2cc661ef2b0995a58aa9639e38e)) +* **server:** seed global teams at server startup ([2bab536](https://gitlab.coko.foundation/cokoapps/server/commit/2bab5364967edd704dcbd0de26e3d5ff422a3b1b)) +* **server:** upgrade to apollo server v4 ([5a1e103](https://gitlab.coko.foundation/cokoapps/server/commit/5a1e103f63b35e94df8e2c17a3dfc836bc0a3a26)) +* simplify s3 url config ([cd5b1c2](https://gitlab.coko.foundation/cokoapps/server/commit/cd5b1c2dde54d69d4dd7948607c0926ea1a30fcd)) +* upgrade aws-sdk to v3 ([fae0125](https://gitlab.coko.foundation/cokoapps/server/commit/fae01258d358b403cf2775313372c44e1c4d2e2f)) + + +### Bug Fixes + +* add useJobQueue to list of removed config keys ([56e9139](https://gitlab.coko.foundation/cokoapps/server/commit/56e9139e0664df436c8ed054dfc67a4f4dab1f1b)) +* **cli:** fix circular command not exiting ([285e44a](https://gitlab.coko.foundation/cokoapps/server/commit/285e44a3c9ecec497c76df24dbf2b137cb5f18be)) +* fix graphql cors ([4f0adde](https://gitlab.coko.foundation/cokoapps/server/commit/4f0adde4f9a454ddb26c6c03f6e0a7c7c8d9c99b)) +* fix optional missing keys crashing ([797ec71](https://gitlab.coko.foundation/cokoapps/server/commit/797ec71c8563de9566cc1e81d6ffa293bfaa66a1)) +* **graphql:** fix isAdmin shield permission ([06c7970](https://gitlab.coko.foundation/cokoapps/server/commit/06c797051274f4ac1a660b99a31b775aa2bdbc63)) +* **graphql:** make sure totalCount cannot be null ([6c51caa](https://gitlab.coko.foundation/cokoapps/server/commit/6c51caad88a33c9c82d45bd87ebfda9ca0d20458)) +* **graphql:** make user query result and id param not nullable ([2a9f174](https://gitlab.coko.foundation/cokoapps/server/commit/2a9f17443c029ba68e1eecc6e7a6201594a3f36a)) +* **graphql:** set not nullable values on members and add type docs for teams ([9c58861](https://gitlab.coko.foundation/cokoapps/server/commit/9c588612a035acaf46f4f3736f670aaaaf70f8ac)) +* **server:** fix startServer imports ([7ecc1e8](https://gitlab.coko.foundation/cokoapps/server/commit/7ecc1e812547006bf76bc1110c541650ad2aaeae)) +* **server:** make sure nodemon restarts for non-js files ([8154927](https://gitlab.coko.foundation/cokoapps/server/commit/81549279d2c60d9b716039d4be4884f1fbd63d06)) + + +* **models:** upgrade knex and objection ([d4e0b2a](https://gitlab.coko.foundation/cokoapps/server/commit/d4e0b2a4eaf2b18c84cf4b4a932b512218167b94)) +* upgrade faker ([6b4b708](https://gitlab.coko.foundation/cokoapps/server/commit/6b4b70829493750fb477fbfc59565f48f7c2bff3)) + ### [3.13.2](https://gitlab.coko.foundation/cokoapps/server/compare/v3.13.1...v3.13.2) (2024-08-27) diff --git a/package.json b/package.json index a8ab0803ac3ef6b8aac49ea45e162df237cfa3dc..a96c280f92b36bf56ad717c220aabaee4272bd64 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@coko/server", - "version": "3.13.2", + "version": "4.0.0-beta.0", "description": "Reusable server for use by Coko's projects", "keywords": [ "coko"