Skip to content

Releases: denoland/deno_bindgen

0.8.1

05 Jun 09:23
848848f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.8.0...0.8.1

0.8.0

03 May 06:48
12c8748
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.7.0...0.8.0

0.7.0

13 Sep 08:24
Compare
Choose a tag to compare

deno_bindgen 0.7.0

What's Changed

  • feat: support cargo workspace, consistent sorting by @zifeo in #84
  • fix: the URL passed with the --release option is not used by @skanehira in #85
  • fix: custom release by @zifeo in #88
  • fix metafile location for cargo workspaces by @Natoandro in #89
  • feat: add support for deno 1.25.0 buffer ffi type by @tsar-boomba in #87
  • fix: deno_bindgen does not work properly on Windows. by @skanehira in #92

New Contributors

Full Changelog: 0.6.0...0.7.0

0.5.0

06 Feb 10:04
7f93428
Compare
Choose a tag to compare

deno_bindgen 0.5.0

  • Add pointer and struct return types + async support #41
  • Support raw markers in struct fields #47
  • chore: update plug to 0.5.1 #50
  • Upgrade to Deno 1.18.2 #51

Note: Repository was moved from littledivy/deno_bindgen to denoland/deno_bindgen

0.4.1

28 Dec 06:41
Compare
Choose a tag to compare

deno_bindgen 0.4.1

  • Fixes versioning of deno_bindgen_macro in library crate

0.4.0

28 Dec 05:29
a70faff
Compare
Choose a tag to compare

deno_bindgen 0.4.0

What's Changed

Full Changelog: 0.3.2...0.4.0

Upgrade to 0.4

Install the new CLI:

deno install -n deno_bindgen -f -A --unstable https://deno.land/x/[email protected]/cli.ts

and update your Cargo.toml dependency:

[dependencies]
deno_bindgen = "0.4.0"

0.3.2

17 Dec 15:01
Compare
Choose a tag to compare

deno_bindgen 0.3.2

  • Rename buffer to pointer in accordance to the changes made in Deno 1.17

0.3.1

15 Nov 07:49
Compare
Choose a tag to compare

deno_bindgen 0.3.1

Changes

  • support mutable buffers - &mut [u8] #22
  • improvements to README and source refactor #24
  • use import.meta for loading lib relative to module #25
  • delete previous bindings metadata #28
  • Force reload cache on debug builds. Enforce lifetimes for `&'a mut
  • Support lifetimes in enums and #[serde(borrow)] for wrappers
  • Stable rustc
  • Handle malformed bindings.json. #30
  • Support serde's tag and content enum attributes. #32

Full Changelog: 0.2.0...0.3.1

Upgrade to 0.3

Install the new CLI:

deno install -n deno_bindgen -f -A --unstable https://deno.land/x/[email protected]/cli.ts

and update your Cargo.toml dependency:

[dependencies]
deno_bindgen = "0.3.1"

0.2.0

20 Oct 04:35
bdcdaca
Compare
Choose a tag to compare

deno_bindgen 0.2.0

New features

Usage

use deno_bindgen::deno_bindgen;

#[deno_bindgen]
pub struct Input {
  /// Doc comments are transformed into
  /// jsdocs.
  a: Vec<Vec<String>>,
}

#[deno_bindgen(non_blocking)]
pub fn say_hello(message: &str) {
  println!("{}", message);
}

Generated bindings will look like this:

// bindings/binding.ts
// ... <init code here>
type Input = {
  /**
   * Doc comments are transformed into
   * jsdocs.
   **/
  a: Array<Array<string>>;
};

export async function say_hello(message: string) {
  // ... <glue code for symbol here>
}

These bindings contain nessecary code to open the shared library, define symbols and expose type definitions. They can be simply imported into Deno code:

import { say_hello } from "./bindings/bindings.ts";
await say_hello("Demn!")

Full Changelog: 0.1.1...0.2.0

0.1.1

14 Oct 08:55
Compare
Choose a tag to compare

deno_bindgen 0.1.1

  • fix: allow float return types (#9)