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.
- add methods to update stack top and set maximum stack size for QuickJS runtime
- 1 commit contributed to the release.
- 47 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Add methods to update stack top and set maximum stack size for QuickJS runtime (
7e125ea)
- Add methods to update stack top and set maximum stack size for QuickJS runtime (
- add support for QuickJS rope strings
- 2 commits contributed to the release over the course of 25 calendar days.
- 41 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- add additional type checks for Javascript values in OwnedJsValue
- 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
view details
- Uncategorized
- Add additional type checks for Javascript values in OwnedJsValue (
fa70631)
- Add additional type checks for Javascript values in OwnedJsValue (
- callback module exports
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Callback module exports (
3d7629e)
- Callback module exports (
- add is_array_buffer method
- 1 commit contributed to the release.
- 71 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Add is_array_buffer method (
c6b29ae)
- Add is_array_buffer method (
- allow conversion from float/integer to rust type i32/f64
- 1 commit contributed to the release.
- 32 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Allow conversion from float/integer to rust type i32/f64 (
34a4a5c)
- Allow conversion from float/integer to rust type i32/f64 (
- handle JavaScript Proxy in array and object deserialization
- add methods to check for Javascript Proxy and retrieve its target
- 2 commits contributed to the release.
- 7 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- add interrupt handler for JS execution
- 1 commit contributed to the release.
- 19 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Add interrupt handler for JS execution (
1056790)
- Add interrupt handler for JS execution (
- add conversion from
OwnedJsValueforOption
- enhance serialization for i64 and u64 types in Serializer
- handle u64 conversion for number between MAX_SAFE_INTEGER and i64::MAX
- wrong impl on TryFrom for HashMap<K, V>
- 5 commits contributed to the release.
- 24 days passed between releases.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Enhance serialization for i64 and u64 types in Serializer (
6669860) - Handle u64 conversion for number between MAX_SAFE_INTEGER and i64::MAX (
4c53a36) - Wrong impl on TryFrom for HashMap<K, V> (
32497e2) - Merge pull request #14 from chmln/feat/add-option-conversion (
1fc3f7b) - Add conversion from
OwnedJsValueforOption(44a6ed6)
- Enhance serialization for i64 and u64 types in Serializer (
- conditionally compile ShortBigInt tag. Close #13
- 1 commit contributed to the release.
- 37 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Conditionally compile ShortBigInt tag. Close #13 (
f65c0fd)
- Conditionally compile ShortBigInt tag. Close #13 (
- update references to quickjs-ng and quickjs-rusty in documentation
- 1 commit contributed to the release.
- 36 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Update references to quickjs-ng and quickjs-rusty in documentation (
2e64441)
- Update references to quickjs-ng and quickjs-rusty in documentation (
- optimize BigInt conversion by adding support for short BigInt
- add methods to check if OwnedJsValue is BigInt and ShortBigInt
- add support for ShortBigInt in deserialization
- 3 commits contributed to the release.
- 41 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- upgrade quickjs-ng to v0.9.0 and fix compatibility
- 1 commit contributed to the release.
- 43 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Upgrade quickjs-ng to v0.9.0 and fix compatibility (
2a6f743)
- Upgrade quickjs-ng to v0.9.0 and fix compatibility (
- compatibility with aarch64 target
- 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
view details
- Uncategorized
- Compatibility with aarch64 target (
4f0ecf2)
- Compatibility with aarch64 target (
- update module loader and normalize functions to return Result type for better error handling
- improve error message formatting in ExecutionError
- improve error handling in module loader and normalizer
- makes BigInt conversion conform to the specification
- 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
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)
- Merge pull request #6 from Icemic/bigint_fix (
- lint
- enhance safety documentation for OwnedJsValue and implement Send/Sync traits
- OwnedJsValue should not be Send+Sync
- refactors quickjs c wrapper
- 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
view details
- makes .context_raw() unsafe
- Remove unnecessary struct field
- aarch64 compatibility
- 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
view details
- Add Send and Sync for OwnedJsValue
- 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
view details
- Uncategorized
- Add Send and Sync for OwnedJsValue (
cfe987b)
- Add Send and Sync for OwnedJsValue (
- clippy fix
- memory leak caused by not free the return value of JS_LoadModule
- Adds essential derives to PromiseState
- 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
view details
- rename to quickjs-rusty
- upgrade quickjs-ng to v0.5.0
- finish OwnedJsPromise methods
- Add ToOwnedJsValue implementation for borrowed reference
- adjust arguments order of JS_GetLength
- 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
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)
- Rename to quickjs-rusty (
- 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
view details
- 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
view details
- removes dependence on old ser impl
- removes bindings::convert
- 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
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)
- Fix builtin logger impl (
- serde deserialize_borrowed_str method, should not drop memory
- 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
view details
- Uncategorized
- Serde deserialize_borrowed_str method, should not drop memory (
437de9f)
- Serde deserialize_borrowed_str method, should not drop memory (
- context export create_callback
- 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
view details
- add symbol support in JsValue enums
- serde checks circular reference on deserialize
- serde cannot handles symbol
- 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
view details
- Deserializer treat
undefinedasSomewrongly
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- Uncategorized
- Deserializer treat
undefinedasSomewrongly (7d90524)
- Deserializer treat
- expose more methods and support custom raw CFunction
- serde
deserialize_anyproblem - remove
OwnedValueRefstruct, which duplicate with OwnedJsValue
- 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
view details
- serde deserialize
- support serde serialize
- impl OwnedJsArray
- remove serde example code
- export more method
- move tests.rs to tests folder
- 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
view details
- add JsValue::Function enum, and JsFunction can be used as callback parameter or return
- allow missing docs for bindings::*
- 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
view details
- run module error handling
- module loader exception handling
- module loader thread safe problem
- decoupling some methods or structs with ContextWrapper
- 4 commits contributed to the release.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
view details
- add methods to run module codes
- bindings
- rename crate name, modify readme, add changelogs
- add bool type of callback return test case
- 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
view details
- 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
- Update Windows info in crate docs
-
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.
-
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.
- handle panics and propagate any errors to JS as an exception
- 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
view details
- #15
- Add note about runtimes and threads to the docs (
a940b0b)
- Add note about runtimes and threads to the docs (
- 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)
- Remove unused imports (