📝 following beta format X.Y.Z where Y = breaking change and Z = feature and fix. Later => FAIL.FEATURE.FIX
- Fix: Added dayjs and fixed some issues with FLEX values storing dateTime in iso.
- Fix: Actions are now run one after each other properly.
- Fix: Ignore % fields.
- Fix: Debugger includes original BQL.
- Fix: Issue with empty filters.
- Fix: Issue with surrealdb wrapper. Now catches errors too before trying to reconnect.
- Fix: Long running query blocks subsequent queries. Use Surreal DB connection pool.
- Feat: Debugger prop to print surrealdb queries and mutations
- Fix: Issue on borm adapter for deleting non existing things
- Feat: $exist to workaround surrealdb issue;
- Feat: Added comparators in tql queries;
- Bug: Fixed a bug where could not link and create to the same tempId
- Chore: Refacto tql filters
- Tests: Fixed filtered tests for surrealDB (17❌ 183✅ 29⏭️)
- Chore: Updated dependencies
- Fix: SurrealDB adapter $filter working on mutations
- Fix: SurrealDB adapter 173 pass, 20 fail
- Fix: Fixed most surrealDB issues (162 pass vs 29 failed)
- Feat: Generate surrealDB schema (client.define() works with surrealDB now)
- Fix: TypeDB schema generation has been fixed. (It still needs some enhancements tho)
- Test: Added some tests for extended classes
- Feat: Working queries and basic mutations for surrealDB
- Fix: Wrongly exported dbPaths when inheriting
- Fix: Using a non existing role name on queries throws a proper error now
- Feat: Can use tempIds directly just by prefixing them with '_:'. Ex: {$thing: User, accounts: [ "account1", "_:justCreatedSpace"]}
- Fix: Defining multiple players for a role still does not work, but at least does not cause errors when you don't use that specific role
- Fix: Can now have coincidences on deletions (same node being deleted twice)
- Fix: Can now link and update in different branches
- Feat: SurrealDB with stored references (refs) vs edges
- Chore: Clean tests folder
- Fix: Some minor fixes
- Tests: Added failing test m3
- Fix: Robot3 issue
- Fix: robot3 types
- Fix: Issue that blocked entities from being updated in multiple branches of a mutation
- breaking: dropped support to cjs
- Fix: EnrichSchema issues
- Fix: Esm config issues
- Fix: Replaced surrealdb.node => surrealdb.js
- Feat:
- TypeDB: Multi-values query and edit (not filter)
- SurrealDB: query and filter Multi-values
- Test: ignoreTodo depending on tested DB
- Test: Added benchmark
- Fix: TypeDB errors being printed again
- Feat: SurrealDB queries -> Multiple refactoring to keep shared vs TQL vs SURQL -> Fix false values, fix workaround for reserved id field, Fix defined table names -> Virtual values onRead (futures) in schema, JSON values in schema -> Deeply nested filters, on local and remote fields -> NOT, OR, AND filters
- Feat(WIP): SurrealDB fix empty arrays and tableName sanitizing 37✅/25❌
- Feat(WIP): SurrealDB id filters, nested filters and cardinality check 28✅/34❌
- Feat(WIP): SurrealDB output format 13✅/49❌
- Fix: Several minor fixes
- Chore: .old files
- Chore: $id as individual filter instead of prebuilt, to be treated by each adapter
- Feat(WIP): SurrealDB subtypes query 7✅
- Feat(WIP): Basic surrealDB queries
- Update: Typedb adapter
- Fix: TypeDB cloud adapter
- Fix: Minor error silenced
- Feat: Filtered mutations
- Refacto: Pre queries dependencies refacto
- Test: Removed jest dependencies
- Test: Migrated to vitest
- Test: TypeDB url moved as env var
- Feat: Transformations for mutations with $fields included.
- Feat: Add SurrealDB query adapter
- Feat: Enable batched query that target multiple DB. Each query in the batch can only access a single DB.
- Refacto: Pre-queries refactoring
- Feat: JSON storage
- Fix: Fix false duplicate $id error
- Feat: %vars can be used to be consumed in pre-hooks
- Feat: dependency checker
- Fix: removed console.log
- Feat: triggers are optional, if none is created, then all are triggered (the $op can be used instead)
- Fix: Extended objects inherit as well the prehooks. Actions are still unsafe
- Breaking change: $tempId without attributes mean link. $tempId with attribute means create
- Fix: Fixed issue with nulls additions on hooks
- UX: Better replace issue message
- Fix: Issue that did not spread symbols on children creation
- Feat: Actions can use user provided context in the mutation config
- Feat: Actions can have name and descriptions
- Feat: Catch some extra schema errors
- Fix: Issue that was splitting things assigning them two different $vars ($tempId and $bzId generated in pre-queries)
- Fix: Fixing issue with module exports (robot3)
- Feat: Non linear pipeline
- Feat: Can add children nodes on transformations
- Feat: Replace is now a valid operation
- Breaking change: Should use $thing instead of $entity and $relation;
- Breaking change: Mutation result are always array (even if nothing is nested)
- Refacto: Preparing for multiple DBs
- Chore: Immer downgraded to 9.0.21 (until immerjs/immer#1087 is fixed)
- Fix: lot of fixes
- Tests: Added nested object validation test
- Fix: Sanitized params in fn validations and transforms
- Feat: Transform pre-hooks
- Temp breaking change: b3rn use case no longer working until it gets fixed in next version
- Feat: More $tempId working cases
- Chore: Added getSymbols helper
- Chore: Added some missing types
- Tests: New tests
- Feat: virtual fields can't be written
- Feat: virtual fields without function can be read (for DB computed stuff)
- Test: added tests for virtual dataFields
- Fix: Issue with undefined dates
- Chore: Cleaned some dead code
- Feat: Node validations can also use the parent object of the mutation
- Fix: Compatible now with typedb 2.26.6
- Fix: Fix new closed session error introduced in typedb 2.26.0
- Feat: Validations can now throw dynamic errors using (by catching errors)
- Fix: Published issue
- Feat: Queries' virtual fields are no working also with rolefields and linkfields (but not remote fields, and they require to explicitly query the dependencies)
- Feat: Attribute validation fns //will probably required a more flexible schema later tho
- Fix: Dependencies are now correctly checked when having formats like ({"my-thing": "myThing"}) => ...
- Fix: Virtual fields are not computed if dependencies are missing (they need to be queried manually meanwhile)
- Refacto: Started refacto of metadatas in fetch queries
- Tests: New test for excluded fields
- Feat: optional cardinality definition on attributes (default: ONE)
- Chore: updated dependencies
- Feat: Default values, not only for id fields
- Feat: Required values are check now on create //cardinality ONE only
- Feat: Enums are check on create and update
- Feat: Validations can be functions
- Breaking Change: Default values structure has changed (from value to fn)
- Mini breaking change: Fixed some issues with the dates with come now with the Z at the end
- Refactoring: Refactoring some code, preparing for other pre-hooks
- Feat: Added thing validations V0 (📝Only working with local and existing values in the same mutation, for instance an update can't check a new value comparing with the existing one)
- Fix: Issues with published version
- Feat: Fixed some extra tests for multi-links. Mainly by splitting $id
- Feat: pre-queries, fetch queries and lots of refactos
- Warning: BQL queries now use $thing and $thingType, but mutations not yet
- Feat: optional pre-queries
- Warning: replaces no longer working until 0.7.0
- Feat: Pre-queries are now doing pruning
- Fix: Some issues with the tests
- Fix: Sessions not being reopened when needed
- Fix: Attribute deletion with null, and enabling '' as a string value
- Typedb-driver fixed, now we can connect to any IP
- Feature: Added returnNulls to explicitly return nulls of queried fields when empty
- Types: Added query config type
- Chore: Updated to last version of typeDB, might not work with older versions
- Types: Mutation accepts generic
- Types: Fixes
- Mutation outputs are always arrays (even if the input is a single object, without nested things)
- Removed symbols in the output of mutations
- Types: New type gen (Ex:
type UserType = TypeGen<typeof typesSchema.entities.User>
) - TYpes Schema builder to generate an schema with inherited fields
- Fixed module stuff
- Chore: Rearranged types
- Types: Removed signatures of borm.query and borm.mutate
- Chore: As module
- Types: $filter can infer the array vs object dilema (yet)
- Types: Queries might also get arrays when $id is not specified
- Types: Now single mutations and queries can accept a T type to complement the output
- Types: Mutation type now depends on the mutation input
- Types: Reversed and fixed single output
- Types: Fix mutation output
- Can now replace by id
- Can't replace if link operation is specified
- Performs pre-query in pipeline for error checks and replaces
- Virtual's depencencies are optional
- Default values with formula require always all the dependencies
- Can't send virtual fields
- Virtual fields are now supported and can use local values
- Default values can also use local values
- changed the $tempId behaviour to be 'create' by default (no need to declare explicitly)
- Clean tests added filter test
- Restructured tests
- TempIds require to define operation 'create' or 'link' explicitly
- Added mutation tests and started splitting them
- Added some error messages
- Clean dead code
- Removed dead dependencies
- Migrated to pnpm
- updated packages
- Fixed nested results which arrive as a single entity when the output is ensured to be a single object (or null)
- TypeDBCluster compatibility
- Fixed test EX2
- New tests
- Can create nested on existing relation
- Refacto mutation
- Working nested deletions and other cases that were not working
- Simplification of the code
- Disabled cardinality check as it has false positives
- Merged borm.define()
- No breaking changes but important feature => 0.2.0
- minor type fixes
- cleaned oFilter types
- moved the selfprelation exception in fill to parseBQLMutation (should reduce the need of the edgeeMerger)
- Stopped including temp things match in the match queries (only create are required)
- Fixed an old bug that sometimes added [Object Object] to tql queries
- Fixed another $tempId issue (test c5)
- Fixed deep nested deletions and probably other edge cases
- Updated dependencies
- linter with trailing-comma
- Fixed all $tempid known issues
- Added a new test for cascade deletion
- More $tempid fixes
- A new checker for tricky cardinality ONE issues
- Changed "noop" to "match"
- Split test C1 in two tests
- Fixed simple $tempId case (todo: c2)
- Fixed a bug with some queries
- Added some new tests and matcher helpers
- Fixed a mutation issue where nested edges where discarded
- Added excludedFields feature v0
- Added a debug option to check queries (only in queries)
- Added a test for an existing bug when querying parent things
- readme, changelog
- cleaned tests
- All current test working again
- Created as new repo and published