Skip to content

Latest commit

 

History

History
753 lines (505 loc) · 36.7 KB

CHANGELOG.md

File metadata and controls

753 lines (505 loc) · 36.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.7.2 (2025-02-07)

Bug Fixes

  • compatibility with aarch64 target

Commit Statistics

  • 1 commit contributed to the release.
  • 13 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Compatibility with aarch64 target (4f0ecf2)

0.7.1 (2025-01-24)

New Features

  • update module loader and normalize functions to return Result type for better error handling

Bug Fixes

  • improve error message formatting in ExecutionError
  • improve error handling in module loader and normalizer
  • makes BigInt conversion conform to the specification

Commit Statistics

  • 6 commits contributed to the release.
  • 14 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #6 from Icemic/bigint_fix (09492cb)
    • Merge pull request #5 from Icemic/module_loader_result (18baaf8)
    • Improve error message formatting in ExecutionError (4fd8ee4)
    • Improve error handling in module loader and normalizer (93217de)
    • Makes BigInt conversion conform to the specification (6afb0cc)
    • Update module loader and normalize functions to return Result type for better error handling (e5a5e86)

0.7.0 (2025-01-10)

Bug Fixes

  • lint
  • enhance safety documentation for OwnedJsValue and implement Send/Sync traits
  • OwnedJsValue should not be Send+Sync

Refactor

  • refactors quickjs c wrapper

Commit Statistics

  • 5 commits contributed to the release over the course of 186 calendar days.
  • 186 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Refactors quickjs c wrapper (3f65492)
    • Lint (901faa9)
    • Enhance safety documentation for OwnedJsValue and implement Send/Sync traits (73a49a6)
    • Upgrade quickjs to 0.8.0 and fix some breaking changes (caa031c)
    • OwnedJsValue should not be Send+Sync (8e38cdf)

v0.6.3 (2024-07-08)

New Features

  • makes .context_raw() unsafe

Bug Fixes

  • Remove unnecessary struct field
  • aarch64 compatibility

Commit Statistics

  • 3 commits contributed to the release.
  • 5 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Remove unnecessary struct field (a23b9e9)
    • Makes .context_raw() unsafe (fcbd3d7)
    • Aarch64 compatibility (cf42538)

v0.6.2 (2024-07-03)

New Features

  • Add Send and Sync for OwnedJsValue

Commit Statistics

  • 1 commit contributed to the release.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Add Send and Sync for OwnedJsValue (cfe987b)

v0.6.1 (2024-06-30)

Chore

  • clippy fix

Bug Fixes

  • memory leak caused by not free the return value of JS_LoadModule
  • Adds essential derives to PromiseState

Commit Statistics

  • 3 commits contributed to the release.
  • 10 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Clippy fix (68d328b)
    • Memory leak caused by not free the return value of JS_LoadModule (afc3425)
    • Adds essential derives to PromiseState (5c11ad2)

v0.6.0 (2024-06-20)

Chore

  • rename to quickjs-rusty

New Features

  • upgrade quickjs-ng to v0.5.0
  • finish OwnedJsPromise methods
  • Add ToOwnedJsValue implementation for borrowed reference

Bug Fixes

  • adjust arguments order of JS_GetLength

Commit Statistics

  • 7 commits contributed to the release over the course of 31 calendar days.
  • 31 days passed between releases.
  • 5 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Rename to quickjs-rusty (e636641)
    • Upgrade quickjs-ng to v0.5.0 (0a0ed46)
    • Finish OwnedJsPromise methods (c07022e)
    • Add ToOwnedJsValue implementation for borrowed reference (642d576)
    • Adds OwnedJsPromise (5c2bfe3)
    • Adjust arguments order of JS_GetLength (e490bd8)
    • Add deref trait implements to array, function, module and object (7223a09)

v0.6.0-rc.1 (2024-05-19)

Commit Statistics

  • 2 commits contributed to the release.
  • 6 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fixes memory leak on module_loader (2f1a72d)
    • Patch quickjs to add new methods and avoid import *.c (89564b7)

v0.6.0-rc.0 (2024-05-12)

Commit Statistics

  • 3 commits contributed to the release over the course of 29 calendar days.
  • 33 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Support disabling auto-resolving returned value during code evaluation (c6ccfeb)
    • Upgrades to latest quickjs-ng and fix missing symbols (f8365f4)
    • Adapts to quickjs-ng (WIP) (318d2ec)

v0.5.0 (2024-04-09)

Other

  • removes dependence on old ser impl

Refactor

  • removes bindings::convert

Commit Statistics

  • 19 commits contributed to the release over the course of 2 calendar days.
  • 58 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fix builtin logger impl (78c5c8a)
    • Fix tests (7b8fd48)
    • Optimize value conversion (b8ea0cc)
    • Remove unused imports (7c557c0)
    • Merge ContextWrapper and Context (c360456)
    • Refactor value module and add atom, compiled_function, and module submodules (54af84c)
    • Refactor code structure of context (af57b05)
    • Tidy up error types (cbc8a24)
    • Refactor code structure and fix import issues (9fd2abc)
    • Support JS_SetHostPromiseRejectionTracker (31d4f93)
    • Removes DroppableValue (777d553)
    • Fixes error equal (58752f4)
    • Move bigint to top level (06496e7)
    • Move ValueError to top level (a9d124b)
    • Move utils to top level module (0ad0622)
    • Fixes compile issue when disable bigint feature (e295e78)
    • Fixes BigInt support (26e2daf)
    • Removes bindings::convert (487663c)
    • Removes dependence on old ser impl (7e922b5)

v0.4.6 (2024-02-11)

Bug Fixes

  • serde deserialize_borrowed_str method, should not drop memory

Commit Statistics

  • 1 commit contributed to the release.
  • 105 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Serde deserialize_borrowed_str method, should not drop memory (437de9f)

v0.4.5 (2023-10-28)

New Features

  • context export create_callback

Commit Statistics

  • 2 commits contributed to the release.
  • 73 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #1 from KusStar/quickjspp (6ae8835)
    • Context export create_callback (e284a64)

v0.4.3 (2023-08-16)

New Features

  • add symbol support in JsValue enums

Bug Fixes

  • serde checks circular reference on deserialize
  • serde cannot handles symbol

Commit Statistics

  • 3 commits contributed to the release.
  • 6 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Serde checks circular reference on deserialize (236901a)
    • Serde cannot handles symbol (8241b8c)
    • Add symbol support in JsValue enums (a87729b)

v0.4.2 (2023-08-09)

Bug Fixes

  • Deserializer treat undefined as Some wrongly

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Deserializer treat undefined as Some wrongly (7d90524)

v0.4.1 (2023-08-09)

New Features

  • expose more methods and support custom raw CFunction

Bug Fixes

  • serde deserialize_any problem
  • remove OwnedValueRef struct, which duplicate with OwnedJsValue

Commit Statistics

  • 3 commits contributed to the release over the course of 2 calendar days.
  • 2 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Expose more methods and support custom raw CFunction (719af55)
    • Serde deserialize_any problem (4354b6e)
    • Remove OwnedValueRef struct, which duplicate with OwnedJsValue (6d27d0c)

v0.4.0 (2023-08-06)

New Features

  • serde deserialize
  • support serde serialize
  • impl OwnedJsArray

Bug Fixes

  • remove serde example code
  • export more method
  • move tests.rs to tests folder

Commit Statistics

  • 6 commits contributed to the release.
  • 11 days passed between releases.
  • 6 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized

v0.3.0 (2023-07-26)

New Features

  • add JsValue::Function enum, and JsFunction can be used as callback parameter or return

Bug Fixes

  • allow missing docs for bindings::*

Commit Statistics

  • 2 commits contributed to the release.
  • 32 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Allow missing docs for bindings::* (bf67eaf)
    • Add JsValue::Function enum, and JsFunction can be used as callback parameter or return (a6ddacc)

v0.2.0 (2023-06-23)

New Features

  • run module error handling

Bug Fixes

  • module loader exception handling
  • module loader thread safe problem

Refactor

  • decoupling some methods or structs with ContextWrapper

Commit Statistics

  • 4 commits contributed to the release.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Run module error handling (5e742df)
    • Module loader exception handling (983242f)
    • Decoupling some methods or structs with ContextWrapper (86f229f)
    • Module loader thread safe problem (5378ff7)

v0.1.1 (2023-06-22)

New Features

  • add methods to run module codes

Bug Fixes

  • bindings

Other

  • rename crate name, modify readme, add changelogs

Test

  • add bool type of callback return test case

Commit Statistics

  • 5 commits contributed to the release over the course of 111 calendar days.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Add methods to run module codes (2f3fac1)
    • Fix tests (354715c)
    • Rename crate name, modify readme, add changelogs (e9f0d23)
    • Bindings (e7534e8)
    • Add bool type of callback return test case (d82c852)

v0.1.0 (2021-08-10)

Chore

  • Add _NonExhaustive variant to Value BREAKING CHANGE : the new variant ensures that we can add new value types without a semver break in the future.
  • Remove outdated TODOs
  • Deny warnings and missing docs for tests using cfg_attr
  • Remove redundant #[cfg] attributes

Documentation

  • Update Windows info in crate docs

New Features

  • Arbitrary Precision Integer Support Implement support for the arbitrary precision integers feature of quickjs.

    In Rust, values are represented with the num-bignum::BigInt type.

Bug Fixes

  • Remove unused imports

  • Use c_char instead of architecture-specific i8

  • Use space instead of comma as a separator

  • Fix timetstamp conversion logic for JsValue::Date A wrong multiplication factor was used to convert timestamps, which resulted in treating nanoseconds as milliseconds instead.

    Fixed by switching to millisecond helper functions in chrono.

Other

  • handle panics and propagate any errors to JS as an exception

Commit Statistics

  • 69 commits contributed to the release over the course of 755 calendar days.
  • 11 commits were understood as conventional.
  • 1 unique issue was worked on: #15

Commit Details

view details
  • #15
    • Add note about runtimes and threads to the docs (a940b0b)
  • Uncategorized
    • Remove unused imports (a158099)
    • Update Windows info in crate docs (4a4c2ff)
    • Preparations for making bytecode compilation public (9980a14)
    • Remove dead code, make JsCompiledFunction public (8ed314d)
    • Move DroppableValue to bindings (ad8d27e)
    • Initial Bindings Refactor (f32bb71)
    • Implement bytecode compilation. (05f39f3)
    • Prevent double free on set_property failure (e6e6fd6)
    • Allow JsValue arguments in add_callback + dead code cleanup (5db7b83)
    • Fix set_global() use after free. (e759be0)
    • Merge pull request #100 from theduke/jsvalue-tryfrom-vec (05998ab)
    • Implement TryFrom for Vec (5daf2b2)
    • Add Context::set_global (7182a89)
    • Move tests to dedicated file (ff3c352)
    • Fix docs warnings (2e37802)
    • Handle int values in Date deserialization (aca955f)
    • Cargo fmt (0c3eff9)
    • Add JsValue::Undefined (f9eb757)
    • Add size cast that seems to be needed on some linux variants (96220c7)
    • Update quickjs to 2020-04-12 (387b3b5)
    • Impl TryFrom for HashMap<String, V> (e1982fc)
    • Fix build for log feature (ceab2c9)
    • Add _NonExhaustive variant to Value (870d45f)
    • Use c_char instead of architecture-specific i8 (4d6451b)
    • Merge pull request #49 from a-rodin/patch-4 (da08c05)
    • Use space instead of comma as a separator (59fac31)
    • Merge pull request #46 from theduke/console (5e5a50e)
    • Remove outdated TODOs (4307fd8)
    • (feat) Console support (e039582)
    • (feat) Support vararg callbacks with the Arguments wrapper type (0abd08b)
    • Deny warnings and missing docs for tests using cfg_attr (142af50)
    • Remove redundant #[cfg] attributes (10a53ad)
    • Arbitrary Precision Integer Support (3086860)
    • Free runtime if context cannot be created (a2d8e1c)
    • (docs) Add note about future property iterator (223a28f)
    • Use RAII-style approach to free JS enum on errors (5fd3bc7)
    • Free atoms returned by q::JS_GetPropertyInternal (be7fffa)
    • Use JS_DefineProperty instead of SetProperty for new objects (52a26ae)
    • Fix timetstamp conversion logic for JsValue::Date (273c600)
    • Add chrono integration (cd42e06)
    • Implement resolving of async values. (e9475d5)
    • Merge pull request #20 from theduke/deserialize-values (a43ab71)
    • Formatting... (7098e1a)
    • Implement object deserialization to HashMap (2065a49)
    • Add JsValue::into_string helper method (5288235)
    • Update lib to 0.3 in quick-js (df142c8)
    • Fix pointer logic for callbacks. (a4632c1)
    • Allow more callback function signatures (b1cb44a)
    • Document all items and deny missing docs. (8f4907e)
    • Future-proof error enums with a __NonExhaustive variant. (384b9f1)
    • Fix clippy warnings (8b5f37a)
    • Formatting... (90e11d7)
    • Add Context::reset() that allows clearing all state. (d3ca743)
    • Add ContextBuilder and allow customizing JS Runtime memory limit (9e7ef36)
    • Improve JS runtime exception conversion (e1e67ae)
    • Improve string serialization - use NewStringLen to avoid cstring cast (31ecb12)
    • Add a large string serialization test (a638222)
    • Improve code docs. (8a8d0b4)
    • Rename crate to quick-js (3851a43)
    • Refactor crate names... damn name squatters! (51d0f28)
    • Fix exception handling (convert objects to string) (2b5d63b)
    • Fix warnings and add #![deny(warnings)] setting (9de3f94)
    • Add doc tests for Context methods (72f4907)
    • Add some more tests (00d9c9e)
    • Handle panics and propagate any errors to JS as an exception (8f4b124)
    • Cleanup and initial code documenation (aebe684)
    • Add eval_as helper. (49aee8b)
    • Initial commit with working project. (3ebc1bd)