Skip to content

Releases: surrealdb/surrealdb.js

v1.0.0-beta.3

18 Apr 23:13
685e7c9
Compare
Choose a tag to compare
v1.0.0-beta.3 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3

v1.0.0-beta.2

18 Apr 15:54
742f26b
Compare
Choose a tag to compare
v1.0.0-beta.2 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2

v1.0.0-beta.1

18 Apr 12:41
d3e9b24
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.11.1...v1.0.0-beta.1

Release v0.11.1

17 Apr 22:53
9f0f397
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.11.0...v0.11.1

Release v0.11.0

01 Nov 10:17
1ce3f75
Compare
Choose a tag to compare

Overview

Simplified .query() method

To further align our JS landscape, the current .query() method is renamed to .query_raw(), and a new and simplified .query() method is introduced. This new method either throws an error or gives back an array of response values.

await db.query<boolean, number>(`true; 123`);
// [true, 123]
// This would previously be an array with query response objects, containing the result.

await db.query(`THROW "some error"`);
// Throws: "An error occurred: some error"

Tagged template literals

  • We now expose a PreparedQuery class which can be passed to the .query() and .query_raw() methods.
  • We now expose a surrealql (and surql as a shortcut) function which can be used as a tagged template literal.
const name = "John Doe";
const age = 44;

// With PreparedQuery
const query = new PreparedQuery(
	/* surql */`RETURN $name; RETURN $age`,
	{ name, age }
);

const prepared = await db.query(query);

// With a tagged template literal
const templated = await db.query(
	surrealql`RETURN ${name}; RETURN ${age}`
);

What's Changed

New Contributors

Full Changelog: v0.10.1...v0.11.0

Release v0.10.1

30 Oct 22:01
f839967
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

Release v0.10.0

30 Oct 08:53
64ba0d4
Compare
Choose a tag to compare

Overview

ns/db/sc/user/pass renamed to namespace/database/scope/username/password

This change was introduced to better align the JS SDK with the Rust SDK and the rest of our JavaScript landscape

Old behaviour

await db.use({ 
  ns: 'test', 
  db: 'test' 
});

await db.signin({ 
  ns: 'test', 
  db: 'test', 
  user: 'root', 
  pass: 'root' 
});

await db.signin({ 
  ns: 'test', 
  db: 'test', 
  sc: 'user', 
  ... 
});

New behaviour

await db.use({ 
  namespace: 'test', 
  database: 'test' 
});

await db.signin({ 
  namespace: 'test', 
  database: 'test', 
  username: 'root', 
  password: 'root' 
});

await db.signin({ 
  namespace: 'test', 
  database: 'test', 
  scope: 'user', 
  ... 
});

What's Changed

  • Micha/naming typing improvements by @kearfy in #181
  • Change tests so that .authenticate() is tested for both scope and root users by @kearfy in #182
  • Add boolean to RawQueryResult by @kearfy in #183
  • Bump v0.10.0 by @kearfy in #184

Full Changelog: v0.9.1...v0.10.0

Release v0.9.1

25 Sep 20:36
f2700f4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

Release v0.9.0

12 Sep 21:26
e86f41b
Compare
Choose a tag to compare

Overview

  • The constructor method of the Surreal class does not accept a URL and configuration options anymore. This, because if an error would be thrown from the promise based function it invoked (like an unreachable address), it would be impossible to catch it. Aside from that, this streamlines the JS and WASM libraries towards eachother. Any arguments previously passed to the contructor method will now need to be separately passed to the .connect() function (which can be awaited by the way!)
  • .authenticate() now returns a boolean indicating success or not success. Be aware that authentication errors will still result in an error being thrown!
  • Improved promise and error handling in general
  • Removed Bun tests as their websocket implementation is currently experimental and not working properly.

What's Changed

  • Improvements to promises + error handling. Drop support for URL on constructor method by @kearfy in #165
  • Bump v0.9.0 by @kearfy in #166

Full Changelog: v0.8.4...v0.9.0

Release v0.8.4

08 Aug 23:45
da79cfa
Compare
Choose a tag to compare

Overview

  • You can now pass variables to the .query() method for the experimental HTTP strategy
  • Implemented a .insert() method to allow for bulk record insertion
  • Added a third option diff to the .live() method, which allows you to receive back notifications in the form of JSON Patches.
  • Finished off the internals for the live queries implementation and added tests for them (they are now actually functional!!)

As most of this is only available with the nightly version of SurrealDB, I would like to link the nightly docs (all though a bit buggy here and there) aswell: https://deploy-preview-197--coruscating-puppy-14fc4b.netlify.app/

What's Changed

Full Changelog: v0.8.3...v0.8.4