{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":414973771,"defaultBranch":"master","name":"jsiqle","ownerLogin":"Chalarangelo","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-10-08T12:14:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8281875?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1691091683.0","currentOid":""},"activityList":{"items":[{"before":"dfbca79de52b002b5606ffe12b2beff7f5f8316f","after":"7b6df9707826907b5cc4e3319afcafe36219e5ee","ref":"refs/heads/master","pushedAt":"2023-10-08T11:06:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"Upgrade devDependencies and switch to Vitest","shortMessageHtmlLink":"Upgrade devDependencies and switch to Vitest"}},{"before":"c84a12032c370d7fc93cb270213c3b1f01876ffb","after":"dfbca79de52b002b5606ffe12b2beff7f5f8316f","ref":"refs/heads/master","pushedAt":"2023-09-30T21:06:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"build: Release 3.0.0","shortMessageHtmlLink":"build: Release 3.0.0"}},{"before":"daf4914275099f689e41ae0d6cb4bc788004f819","after":"c84a12032c370d7fc93cb270213c3b1f01876ffb","ref":"refs/heads/master","pushedAt":"2023-09-30T21:06:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: ESM support\n\nThis package is now pure ESM, CJS is not supported anymore.\n\nBREAKING CHANGE: Stop supporting CJS, stay on v2.x if you need\nto use CJS. From now on, only ESM is supported.","shortMessageHtmlLink":"feat!: ESM support"}},{"before":"c44f57012a1d5ddda2980471e349abc55f61cc35","after":"daf4914275099f689e41ae0d6cb4bc788004f819","ref":"refs/heads/master","pushedAt":"2023-08-03T20:11:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"build: Release 2.0.0","shortMessageHtmlLink":"build: Release 2.0.0"}},{"before":"3c30330689825d1e3a2759eb8af8dd214c9fb77b","after":"c44f57012a1d5ddda2980471e349abc55f61cc35","ref":"refs/heads/master","pushedAt":"2023-08-03T19:43:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"build: Release 2.0.0-beta.1","shortMessageHtmlLink":"build: Release 2.0.0-beta.1"}},{"before":"5ec6feb2a1548e94b3eb90e267e40c0bcdf71b87","after":null,"ref":"refs/heads/v2","pushedAt":"2023-08-03T19:41:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"}},{"before":"85f8ea5ebc61f74423f05dbad6859157158908f2","after":"3c30330689825d1e3a2759eb8af8dd214c9fb77b","ref":"refs/heads/master","pushedAt":"2023-08-03T19:41:22.000Z","pushType":"pr_merge","commitsCount":76,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"build: Pre-release build for 2.0","shortMessageHtmlLink":"build: Pre-release build for 2.0"}},{"before":"c67983c7a147f7ffb981daa3054995a978ab5756","after":"5ec6feb2a1548e94b3eb90e267e40c0bcdf71b87","ref":"refs/heads/v2","pushedAt":"2023-08-03T19:40:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"build: Pre-release build for 2.0","shortMessageHtmlLink":"build: Pre-release build for 2.0"}},{"before":"7a43e109241c501b877d4e4e645591e3b66040dd","after":"c67983c7a147f7ffb981daa3054995a978ab5756","ref":"refs/heads/v2","pushedAt":"2023-08-03T19:37:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"docs: Add documentation for serializers\n\nUpdate documentation about serializers and how to use them.\n\nRefs: #6","shortMessageHtmlLink":"docs: Add documentation for serializers"}},{"before":"bc06651cf72a84a992a067d765086fce5dc8b3ec","after":"7a43e109241c501b877d4e4e645591e3b66040dd","ref":"refs/heads/v2","pushedAt":"2023-08-03T19:25:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat: Add inverse boolean properties\n\nIntroduce an additional key for property definitions, `inverse`, which\nis used to specify the name of the inverse of a boolean property.\nInverse boolean properties behave as regular properties and respect\ncaching rules, allowing for less verbose code overall.\nDocumentation has been updated accordingly.\n\nRefs: #16","shortMessageHtmlLink":"feat: Add inverse boolean properties"}},{"before":"74b16ecf8b366e9d4f8a7968168d8c9977f87144","after":"bc06651cf72a84a992a067d765086fce5dc8b3ec","ref":"refs/heads/v2","pushedAt":"2023-08-01T20:13:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat: Automatically parse date field values\n\nFields of `date` type will now automatically parse values as\n`Date` objects, if they're not already. This introduces a few\ninternal changes, namely a new symbol and a relevant check\nwhen parsing record values in `RecordHandler.#setRecordField`.\nPerformance impact from these changes should be negligible.\n\nRefs: #39","shortMessageHtmlLink":"feat: Automatically parse date field values"}},{"before":"c2b7039f27a8b0502dfa5a8f054c3a38d8cdd777","after":"74b16ecf8b366e9d4f8a7968168d8c9977f87144","ref":"refs/heads/v2","pushedAt":"2023-08-01T19:57:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat: Optimize performance of `RecordSet`\n\n`RecordSet` querying operations will now create new instances of the\n`RecordSet` class with an empty `iterable` and utilize the protected\n`RecordSet.prototype[$set]` method to populate the instance. This\nminimizes time spent on iterating over the same entries and increases\nperformance. Both previous and current complexity are `O(n)`, however\nthe constant `c` has been reduced from `2` down to `1` in many cases.\nThis should be especially noticeable for scoped queries without a\ncomparation function, which is one of the most common operations.","shortMessageHtmlLink":"feat: Optimize performance of RecordSet"}},{"before":"4f761c8cf32a0ddb591207ac84f3b73609657d2b","after":"c2b7039f27a8b0502dfa5a8f054c3a38d8cdd777","ref":"refs/heads/v2","pushedAt":"2023-07-23T19:55:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Introduce record templates to models\n\nAll `Model` instances will now internally create a\ntemplate object where all defined fields are set to\n`null`. This also takes into account relationship definitions\nthat are added to the model at a later time and whose\ndefault value will be set to `undefined` to retain previous\nbehavior when objectifying records. These changes affect\nsome internal definitions and inner workings of different\nentities, but are supposed to increase performance and\nprovide a tighter definition for records without having to\nloop over field definitions every single time a record is\ncreated.\n\nRefs: #27","shortMessageHtmlLink":"refactor: Introduce record templates to models"}},{"before":"ce12fe665c93d621aed808e10150e4f077d9936d","after":"4f761c8cf32a0ddb591207ac84f3b73609657d2b","ref":"refs/heads/v2","pushedAt":"2023-07-23T19:30:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat: Introduce `Schema.clearPropertyCache()`\n\nAllow all property caches across the schema to be cleared.\nInstead of allowing individual model caches to be cleared,\nall of them should be cleared to avoid cascading of stale data.\nDocumentation has been updated accordingly.","shortMessageHtmlLink":"feat: Introduce Schema.clearPropertyCache()"}},{"before":"8ac3731dc428e131b52922be6b7f15c0917e4cc6","after":"ce12fe665c93d621aed808e10150e4f077d9936d","ref":"refs/heads/v2","pushedAt":"2023-07-23T18:02:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Clean up utilities\n\nRemove unused utility functions and delete irrelevant tests.","shortMessageHtmlLink":"refactor: Clean up utilities"}},{"before":"b4460901e6b9aa7c23c4d065c17f948ba74a396a","after":"8ac3731dc428e131b52922be6b7f15c0917e4cc6","ref":"refs/heads/v2","pushedAt":"2023-07-23T17:59:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor!: Call `methods` with `Schema` singleton\n\nAs the schema definition is now immutable, all methods defined\nfor any model can be called safely with the current schema. This\nallows for definitions to use the last argument, optionally, to get\nthe current schema value via `Schema[$schemaObject]`. This,\nin turn, allows for `Model[$addMethod]` to be privatized and the\nsymbol to be removed. Documentation has been updated accordingly.\n\nRefs: #27\nBREAKING CHANGE: You can no longer define `lazyMethods` as part\nof model definitions. Regular `methods` can now accept a final argument\nthat represents the current schema.","shortMessageHtmlLink":"refactor!: Call methods with Schema singleton"}},{"before":"a899d2b59bdbccf6890a438c3fc49ccba1952d60","after":"b4460901e6b9aa7c23c4d065c17f948ba74a396a","ref":"refs/heads/v2","pushedAt":"2023-07-23T16:51:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Deprecate `Field` object definitions\n\nAll `Field` instances need only define their `type`, therefore\ndefinition via the use of field objects is not relevant. Deprecate\nfield definition by object, allowing only string definitions instead.\nUpdate internals to simplify logic and increase performance.\nDocumentation has been updated accordingly.\n\nRefs: #25\nBREAKING CHANGE: Deprecate the usage of objects in`Field`\ndefinitions (as part of the `Model`definition). Replace usage\nwith string definitions, instead.","shortMessageHtmlLink":"feat!: Deprecate Field object definitions"}},{"before":"ab3feac859d68731d249d190717d112e6c669936","after":"a899d2b59bdbccf6890a438c3fc49ccba1952d60","ref":"refs/heads/v2","pushedAt":"2023-07-23T16:31:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Deprecate `defaultValue` option for fields\n\nAs `defaultValue` can introduce potential mutability and type\ninconsistency issues to record creation, it is deprecated in favor\nof a universal default value of `null` across all type definitions.\nPrevious filed definitions including `defaultValue` will still work,\nbut the value will be ignored by record creation logic. Some internal\nchanges have also been made to match these changes, namely\nthe deprecation of the `$defaultValue` symbol.\nDocumentation has been updated accordingly.\n\nRefs: #27\nBREAKING CHANGE: `defaultValue` defintions in `Model` `fields`\nare now deprecated and ignored. All types have a default value of\n`null`.","shortMessageHtmlLink":"feat!: Deprecate defaultValue option for fields"}},{"before":"d5d3d632a8fa81791d82d5e96b2d173e9a29da52","after":"ab3feac859d68731d249d190717d112e6c669936","ref":"refs/heads/v2","pushedAt":"2023-07-23T16:02:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Deprecate `enum` field type\n\nThe special `enum` field type is now deprecated. This\nremoves some internals and changes some code to run\nfaster and simpler. Documentation has been updated accordingly.\n\nBREAKING CHANGE: `Field` instance of `type: enum` are no\nlonger available. A `type: value` with additional checks can be used\nif necessary.","shortMessageHtmlLink":"feat!: Deprecate enum field type"}},{"before":"f79ca43031b2b82af5a91902a052a18fb9342f02","after":"d5d3d632a8fa81791d82d5e96b2d173e9a29da52","ref":"refs/heads/v2","pushedAt":"2023-07-23T15:40:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Use stored model for `RecordSet` string tag\n\nThe string representation of `RecordSet`'s `Symbol.toStringTag()`\nnow uses the stored `#model` and `Model.protoype.name` to infer\nthe name of the relevant model. As all `RecordSet` instances are\nalways linked to a single model, this provides a faster infromation\nretrieval process, without unnecessary record prying.","shortMessageHtmlLink":"refactor: Use stored model for RecordSet string tag"}},{"before":"071861797e62bca96396d3e902290a68f7f7073a","after":"f79ca43031b2b82af5a91902a052a18fb9342f02","ref":"refs/heads/v2","pushedAt":"2023-07-20T20:40:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Store scopes in `Model`\n\nMove scope storage from `RecordSet` to `Model`. This allows\nfor scopes to be stored only once instead of being duplicated for\neach `RecordSet`. It also ensures there are no side-effects from\npassing copied scopes from one `RecordSet` to the next. Finally,\n`RecordSet` now stores the relevant model internally, enabling\nlookup access for all `Model` definitions. Internal definitions and\nAPI have been updated. An additional test case has been added to\nensure scopes are copied correctly between `RecordSet` instances.","shortMessageHtmlLink":"refactor: Store scopes in Model"}},{"before":"4615ccee569f0bd20fa28528de467d7270d95665","after":"071861797e62bca96396d3e902290a68f7f7073a","ref":"refs/heads/v2","pushedAt":"2023-07-20T19:54:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Deprecate `RecordSet` mutation utlities\n\nDeprecate `RecordSet.prototype.duplicate()`,\n`RecordSet.prototype.merge()` and `RecordSet.prototype.append()`.\n\nBREAKING CHANGE: `RecordSet.prototype.duplicate()`,\n`RecordSet.prototype.merge()` and `RecordSet.prototype.append()`\nare not deprecated.","shortMessageHtmlLink":"feat!: Deprecate RecordSet mutation utlities"}},{"before":"c36d0d96f3890acd34f81960c9cd3db6619af663","after":"4615ccee569f0bd20fa28528de467d7270d95665","ref":"refs/heads/v2","pushedAt":"2023-07-20T19:42:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Rework `RecordSet` batch iterators\n\nDeprecate `RecordSet.prototype.flatBatchIdsIterator()` entirely.\nDeprecate `RecordSet.prototype.flatBatchIterator()` in favor of a\n`{ flat: true }` option for `RecordSet.prototype.batchIterator()`.\nDocumentation updated accordingly.\n\nBREAKING CHANGE: Deprecate `RecordSet.prototype.flatBatchIdsIterator()`\nand `RecordSet.prototype.flatBatchIterator()`. The functionality of the\nlatter can now be achieved using `RecordSet.prototype.batchIterator()`\nwith a second argument of `{ flat: true }`.","shortMessageHtmlLink":"feat!: Rework RecordSet batch iterators"}},{"before":"3116025b43f7b8a757dac4bd1e252226e22ba7a8","after":"c36d0d96f3890acd34f81960c9cd3db6619af663","ref":"refs/heads/v2","pushedAt":"2023-07-20T17:52:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Freeze instances of RecordSet by default\n\nMake all `RecordSet` instances frozen by default, preventing\nthe use of `RecordSet.prototype.set()`, `RecordSet.prototype.delete()`\nand `RecordSet.prototype.clear()`. Internal symbols have been added to\nreplace these methods, instead. This also removes the need for\n`RecordSet.prototype.freeze()` and the internals that go along with it.\n\nBREAKING CHANGE: `RecordSet.prototype.set()`,\n`RecordSet.prototype.delete()` and `RecordSet.prototype.clear()` now\nthrow an error when called.\n\nRefs: #27","shortMessageHtmlLink":"feat!: Freeze instances of RecordSet by default"}},{"before":"c5e388d805c4c7c896639f573cb2bae5268051b8","after":"3116025b43f7b8a757dac4bd1e252226e22ba7a8","ref":"refs/heads/v2","pushedAt":"2023-07-20T17:25:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Make `RecordSet` methods receive options\n\nDeprecate `RecordSet.prototype.flatMap()`, `RecordSet.prototype.flatFilter()`,\n`RecordSet.prototype.toFlatArray()` and `RecordSet.prototype.toFlatObject()`.\nFunctionality previously provided by these methods has been moved to their\nnon-flat counterparts (`RecordSet.prototype.map()`,\n`RecordSet.prototype.filter()`, `RecordSet.prototype.toArray()` and\n`RecordSet.prototype.toObject()` respectively) and can be enabled by passing\n`{ flat: true }` as the second argument.\nDocumentation has been updated accordingly.\n\nBREAKING CHANGE: `RecordSet.prototype.flatMap()`,\n`RecordSet.prototype.flatFilter()`, `RecordSet.prototype.toFlatArray()` and\n`RecordSet.prototype.toFlatObject()` are deprecated. Their functionality is now\nprovided by `RecordSet.prototype.map()`, `RecordSet.prototype.filter()`,\n`RecordSet.prototype.toArray()` and `RecordSet.prototype.toObject()`\nrespectively, by passing `{ flat: true }` as the second argument.","shortMessageHtmlLink":"feat!: Make RecordSet methods receive options"}},{"before":"da371350455be57c643b6e4cd71a8f8329e35437","after":"c5e388d805c4c7c896639f573cb2bae5268051b8","ref":"refs/heads/v2","pushedAt":"2023-06-24T13:33:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Make all properties act as lazy\n\nSimplify the schema creation logic to benefit from the fact\nthat the schema is now immutable after creation. This allows\nfor the internal separation between regular and lazy properties\nto be eliminated, using instead a protected getter to retrieve the\nschema object on the fly. This change, in turn, allows for\n`Model.prototype[$addProperty]` to be privatized and the symbol\nto be removed. The `RecordHandler` is also updated to always\nretrieve `Schema[$schemaObject]` on the fly when a property is\ncalculated. Property caching is not affected, as potential cache\ninvalidation issues predate this change. Trivial performance gains\nmight be noticed during schema creation.\n\nRefs: #26","shortMessageHtmlLink":"refactor: Make all properties act as lazy"}},{"before":"42b1665085b3acd780ac17e4ec0cefd0abe5b19f","after":"da371350455be57c643b6e4cd71a8f8329e35437","ref":"refs/heads/v2","pushedAt":"2023-06-18T10:28:16.178Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat: Only allow standard field types\n\nChange `Model.prototype.#addField()` to only allow string\nvalues for field types. As this feature was experimental, this is\nnot considered as a breaking change and no documentation\nchanges are required.\n\nRefs: #25","shortMessageHtmlLink":"feat: Only allow standard field types"}},{"before":"fd5af489628d5d9d508ec4fcfcb75e8aa3786d4d","after":"42b1665085b3acd780ac17e4ec0cefd0abe5b19f","ref":"refs/heads/v2","pushedAt":"2023-06-18T10:17:40.985Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Privatize Model API\n\nMake `Model.prototype.addField()`, `Model.prototype.addScope()`,\n`Model.prototype.addProperty()` and `Model.prototype.addMethod()`\ndeprecated. Update internals to match these changes, using private\nand protected methods for this functionality. Update documentation\naccordingly.\n\nRefs: #27\nBREAKING CHANGE: `Model.prototype.addField()`,\n`Model.prototype.addScope()`, `Model.prototype.addProperty()`\nand `Model.prototype.addMethod()` are now deprecated.","shortMessageHtmlLink":"feat!: Privatize Model API"}},{"before":"ed884ffb00a188d378d9a6eac98cb55811c7da0c","after":"fd5af489628d5d9d508ec4fcfcb75e8aa3786d4d","ref":"refs/heads/v2","pushedAt":"2023-06-17T09:51:16.188Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"feat!: Make `Schema` an immutable singleton\n\nConvert `Schema` to a static class/singleton. This means\nthat there can only be one schema defined per application.\nThe `constructor()` method is now deprecated, the only way\nto create a schema is via the use of `Schema.create()`.\n`Schema` creation no longer requires a `name` parameter.\nAdditionally, deprecate all public mutability accessors -\n`Schema.prototype.createModel()`,\n`Schema.prototype.createSerializer()` and\n`Schema.prototype.createRelationship()`.\nInstance methods that are still available as part of the\n`Schema` singleton API are now static methods on the class\nitself. Additionally, a large refactoring of the class has\ntaken place to ensure maximum performance and maintainability.\nThe internal `validateObjectWithUniqueName` utility has\nbeen altered to allow for nameless parents to be passed\nand displayed in validation error messages.\nAn internal API has been provided to simplify testing of\nthe `Schema` class.\nDocumentation has been updated to reflect the changes.\n\nRefs: #26, #27\nBREAKING CHANGE: `Schema.prototype.createModel()`,\n`Schema.prototype.createSerializer()` and\n`Schema.prototype.createRelationship()` are now deprecated.\n`Schema` is now a singleton, and can only be created via\n`Schema.create()`. The `constructor()` method\nis now deprecated. All instance methods are now static\nmethods on the class itself.","shortMessageHtmlLink":"feat!: Make Schema an immutable singleton"}},{"before":"5ef78c205ebbb371550339890c753118fbbb1ba8","after":"ed884ffb00a188d378d9a6eac98cb55811c7da0c","ref":"refs/heads/v2","pushedAt":"2023-06-16T19:33:56.100Z","pushType":"push","commitsCount":1,"pusher":{"login":"Chalarangelo","name":"Angelos Chalaris","path":"/Chalarangelo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8281875?s=80&v=4"},"commit":{"message":"refactor: Remove unused code\n\nRemove unused symbols, variables and private methods\nthat were currently unused due to recent changes.","shortMessageHtmlLink":"refactor: Remove unused code"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADkgjWhQA","startCursor":null,"endCursor":null}},"title":"Activity ยท Chalarangelo/jsiqle"}