Skip to content

Releases: JairusSW/json-as

v1.3.2

13 Apr 18:04

Choose a tag to compare

Changes

  • release: v1.3.2 (c23d691)
  • rebuild benches (9b57246)
  • feat: add fast_double_parser float path (ceecc17)
  • fix: run windows transform build via wineconsole (9b3625c)
  • chore: fix size calculation (efa68d3)
  • chore: update benches (3b417a3)
  • bench: add small-range charts and incremental runtime default (461328f)
  • revert (e2817a5)
  • perf: keep split-tuned swar string deserializer (104a081)
  • bench: add swar string head2head and update throughput benches (887a5f0)
  • chore: properly calculate bytes for json payloads and expand ranges (25e0055)
  • chore: standardize benches to UTF-8 (wire format) instead of WTF-16 to calculate bytes/s (85d1b10)
  • chore: normalize benches (6621dcb)
  • bench: update (2293ef6)
  • perf: streamline serializer delimiter writes (bf801e3)
  • bench: fix calculations for large-file (1ba5962)
  • chore: add more benches (efb5a39)
  • push (613e5fa)
  • laptop keeps crashing. switching to workstation (0fb686a)
  • chore: update .gitignore (e1f7003)
  • perf: huge gains (9aa57c9)
  • refactor: clean up deserialization flow (b6b7a60)
  • perf: optimize fast-path nested array deserialization (425836b)
  • fix(transform): restore strict fast-path deserialization correctness (ff215ca)
  • chore: ignore as-test artifacts except runners and snapshots (e21f0d1)
  • test: update local repro harness for map key round-trip case (b58b1b5)
  • docs: remove FAST_PATH_DESERIALIZE and track follow-ups in TODO (6cf0be2)
  • chore: merge TODO files and document compatibility matrices (258c6ad)
  • feat: support generic map key round-trips via quoted key encoding (714a66a)
  • feat: expand fast-path and delegated array deserialization support (f546480)
  • feat: extend fast-path deserialization coverage (add0e9a)
  • chore: remove nocheck flag (d5783d9)
  • fix: repair full benchmark suite (6e6083a)
  • chore: capture current serializer, tooling, and fuzz work (096c613)
  • remove npm from release (7bba414)
  • ci: fix scropt issue (387efba)
  • chore: link docs and update as-test (d038cab)

v1.3.1

25 Mar 18:24

Choose a tag to compare

Changes

  • release:v1.3.1 (6168e4d)
  • release: v1.3.1 (3e7debb)
  • fix: stabilize transform state across repeated compilations (2409f19)
  • fix: resolve stdlib base class inheritance in transform (5b9f8d2)
  • fix: stabilize bs scoping and subclass serialization (1940467)
  • docs: document built-in subclass overrides (31a43ce)
  • test: expand custom serializer coverage (352f9e0)
  • feat: support nullable custom JSON shape hints (2cc2b6e)
  • feat: add JSON shape hints for custom serializers (d1ce1d9)
  • feat: support explicit custom typed-array subclass overrides (615dc05)
  • chore: remove stale swar string comment (a50972a)
  • perf: pack unicode escape hex emission with swar (8c0e4ed)

v1.3.0

19 Mar 22:21

Choose a tag to compare

Changes

  • chore: update changelog (c15775f)
  • release: v1.3.0 (2017f4d)
  • Update changelog for lint and project cleanup (7303a22)
  • Fix linting and update project files (1a5639b)
  • chore(deps): bump prettier in the minor-and-patch group (1c22616)
  • fix: add typed array and ArrayBuffer helpers (da4147e)
  • fix: finish subtype-aware StaticArray deserialization (27e23ae)
  • Fix default-path runtime correctness (94a1203)
  • test: cover tiny payload boundaries (63964af)
  • test: expand feature and runtime coverage (197efd3)
  • docs: update readme (d0cbd06)
  • perf: remove hand-tuned bench (b2b3bf4)
  • chore: remove old benches (bf27f08)
  • build: move benchmark publishing to local workflow (87c5a62)
  • revert: restore wasmtime installer workflow step (957166f)
  • fix: restore simd dispatch in mode wrappers (e8ff136)
  • fix: install wasmtime from github releases in ci (aa023d8)
  • fix: preserve generated charts in benchmark docs publish (43ec4d2)
  • fix: skip mode-specific benches in incompatible builds (43758dd)
  • ci: fix workflows (95a2844)
  • fix: keep non-SIMD bench builds free of SIMD code (86736d3)
  • perf: use handwritten generic float deserialization (578da4d)
  • perf: speed up float field deserialization (0c67ec5)
  • refactor: centralize serialize and deserialize dispatch (5e8d4ee)
  • perf: optimize integer array deserialization (1062250)
  • perf: add SIMD fast-path string field deserialization (2ae4db7)
  • perf: use fast path for benches (2750894)
  • docs: add object (de)serialization throughput over payload size charts (0249817)
  • chore: remove old benches (1cef076)
  • refactor: split numeric deserializers and field parsers (205d103)
  • perf: tune string deserialization paths (03c5c8a)
  • Tune fast-path string deserialization and benches (4e69ea3)
  • perf: medium.spec.ts should be doing more work (2e60318)
  • HOLY FUCKKK ITS SO FAST (bcea316)
  • lint: lint and format everything (97390b7)
  • deps: update to as-test@1.0.1 (47a2ad0)
  • bench: bool fields should also validate false (4de4474)
  • perf: add updated hand-tuned benches (2d5897a)
  • Gate and streamline generated deserialize paths (de6450d)
  • chore: add more utils (c403c75)
  • perf: optimize string scanning deserializer (3d71f6e)
  • perf: ship first draft of optimized struct parsing (190e9dd)
  • chore: lint (2e90daa)
  • perf: faster deserialization codegen (5cfdbf8)
  • perf: use faster hand tuned bench (afa1cb2)
  • dev: prototype hot path code generation (ff19c97)
  • tests: use wasmtime as runner instead of node (87706ac)
  • tests: disable exception handling (3648c83)
  • deps: remove try-as (cca496b)
  • perf: work around gc by using raw heap for temporary buffer (db11302)
  • psh (68dab28)
  • psh (f91e3fa)
  • push (ad4d34d)
  • chore: remove extraneous files (c296fa5)
  • chore: update tests (5a74029)
  • ci: update test workflow (b9e3ac8)
  • tests: switch over to as-test instead of minimal test harness (40fdecf)
  • compat: add compatability between json-as and try-as (b6e1259)
  • chore: remove unneeded dependencies (fdd773b)
  • chore: format and update eslint (9855611)
  • chore: update eslint and prettier (7877660)

v1.2.6

20 Feb 16:16
d57cb90

Choose a tag to compare

Changes

  • release: v1.2.6 (7dbc362)
  • chore: rebuild transform (6ba9226)
  • chore: update changelog (09feca0)
  • Add as contributor (09a4f06)
  • fix missing closing bracket after merge from main (d85eea9)
  • chore: update benches (ee72e41)
  • tests: massively expand coverage across all spec files (ac7a5e0)
  • Optimize token bench fast serialize/deserialize paths (701bf1a)
  • chore: update benchmarks (30b3d3f)
  • fix: properly cast type (3068cd0)
  • chore: commit remaining repository changes (149b4bb)
  • fix: resolve eslint issues for d8 benches and ts vars (0b6d0f6)
  • chore: add more benches and script helpers (75b8575)
  • fix: arbitrary nested arrays (deeb3bd)
  • chore(ci): bump oven-sh/setup-bun from 1 to 2 (81e48ec)
  • chore(deps): bump eslint from 9.39.2 to 10.0.0 (8eb5a80)
  • patch: use safe mode for now during swar escape detection (521bd80)
  • release: v1.2.5 (5ce06f0)
  • chore(ci): bump actions/checkout from 3 to 6 (0400127)

v1.2.5

26 Jan 16:14

Choose a tag to compare

Changes

v1.2.4

23 Jan 06:34

Choose a tag to compare

Changes

  • chore: add todo because i forget (8211e31)
  • fix: allow Set to occur within an object and optimize object performance (bf8efba)
  • chore: update staticarray (f328205)
  • feat: add set serialization (a4f3b4c)
  • chore: add basic support for Set and StaticArray (5b8d6b7)
  • chore: conform to eslint rules (c05db7a)
  • chore: correctness and minor issues (7ffd841)
  • fix: entire transformer state should be reset after transformer is finished (c0cf9c7)
  • chore: adhere to strict mode rules (aa2aa93)
  • fix: remove debugging artifact within serialize_string_swar (e6a35e8)
  • docs: make sure table of contents is collapsible (559a288)
  • chore(ci): bump actions/setup-node from 2 to 6 (039de2c)
  • docs: update readme (8dd538e)
  • docs: update readme with architecture and contributing guide (89eecb7)
  • perf: reduce cache size from 4096 to 1024 entries (d206cdf)
  • perf: utilize an Exponential Moving Average factor for buffer resizing (c7e8608)
  • chore: enable and configure ESLint (1773945)
  • ci: add release.yml (913b3c2)
  • docs: add contributing.md (c4451f4)
  • docs: add in-depth architecture definition (2a2c1bb)
  • fix(deserialize): syntax error within JSON.parse function (9d05045)
  • chore: remove sponsors (c84cadb)
  • chore: remove deprecation section in publish.sh (84c42b5)
  • chore: add funding section (a7e5cc1)
  • chore: add funding (c760a6d)
  • chore: add sponsors files (0fdb779)
  • chore: update license (d3f5d5f)
  • fix: arena allocator should not allocate room when disabled (d56b66d)
  • perf: small tweaks targeting cache prediction (e1525ab)
  • perf: prefer non extensive surrogate checking unless nessecary (193bb38)
  • docs: add js to benchmarks (18af41f)
  • edit: change chart04 to deserialization (593a917)
  • chore: re-add js bench (df9945b)
  • release: v1.2.3 (ad54b8a)
  • perf: add unicode-compliant naive, swar, and simd deserialization (30bf556)
  • perf: cheat OOB by ensuring enough space. ~21% performance increase (8a9fe5a)
  • tests: update (d3150e4)
  • chore: semi-optimized wtf-16 compliant string serialization (836cc89)
  • feat: handle wtf-16 string naive serialization (8bd83c4)
  • feat: faster swar strings (11461bf)
  • feat: jank ass surrogate handling (baf3132)
  • feat: add support for surrogates and code units (61c0253)
  • release: v1.2.2 (d7b2eb3)
  • chore: update chart02 (550fdc8)
  • chore: update benches (f36df90)
  • feat: add full support for value'd boxes (731c837)
  • test: add deserialization tests of nullable boxed values (6173636)
  • docs: update readme (21ca003)
  • feat: add support for boxed and reboxed JSON.Value (cbfe1a9)
  • chore: update readme (fc750d1)
  • feat: support deserialization of nullables in JSON.Value (f92d292)
  • feat: support the serialization of null within JSON.Value (c7000e0)
  • feat: add preliminary support for swar codepoint handling (fade463)
  • perf: 6GB/s+ strings! (ded7897)
  • ci: rebuild charts (569a35f)
  • docs: create different charts (c8eea24)
  • perf: rewrite SWAR id (4ef04dd)
  • release: v1.2.2-beta.1 (2e6126e)
  • chore: reduce package size 10x (99952cb)
  • release: v1.2.1 (8f39ec7)
  • chore: update chart link (2f31f83)
  • release: v1.2.0 (e62c20a)
  • docs: update readme (f3063b8)
  • docs: add ability to re-run benchmarks (9e970bd)
  • ci: add ability to re-run benchmarks (c86ae63)
  • ci: change (bc950c9)
  • chore: remove dump.txt (553d536)
  • feat: implement faster SWAR for strings (67d4952)
  • chore: remove extra logs (f16980a)
  • release: v1.1.27 (52914c5)
  • ci: update charts (9e0e7a5)
  • docs: update readme (2cfdd5d)
  • ci: do not upload artifact (7311007)
  • ci: publish artifacts and push to docs (2be6f95)
  • ci: add jsvu bin to path (c68e9f2)
  • ci: install binaryen (6a85ad3)
  • ci: fix typo in workflow (a93ddd2)
  • ci: update benches (6c8f9c7)
  • ci: add benchmarks (4a32a3e)
  • feat: add proper blackboxing and benchmarking (a8a7c6c)
  • release: v1.1.26 (05c18a0)
  • chore: bump version (cf21f86)
  • chore: update readme (c922f96)
  • release: 1.1.25 (0cd3c02)
  • feat: SWAR support all control codes (c43684d)
  • feat: add SWAR string serialization (9f154ea)
  • release: v1.1.24 (ef6f841)
  • chore: update readme (3e1035f)
  • feat: use moving average to define memory size (b6746a1)
  • release: v1.1.23 (856b7cd)
  • chore: update changelog (cf7bbdb)
  • fix: #161 (1572a6e)
  • release: 1.1.22 (cc7d2f0)
  • fix: #159 (343ca0b)
  • fix: do not strip null on return type (167aa92)
  • release: v1.1.22 (8552f40)
  • fix: #154 (9f3f730)
  • chore(deps-dev): bump tinybench from 4.1.0 to 5.0.1 (0a5e6a8)
  • release: v1.1.21 (d7321c2)
  • chore: update readme logo (7c01fe6)
  • chore: update README.md (b39cc1f)
  • chore: update CHANGELOG.md (2b01d52)
  • deps: update dependencies (0c5071a)
  • tests: use installed ASC version (45005f4)
  • docs: add tests for larger arbitrary objects (407b008)
  • fix: resolve memory OOB issue within serializeFloat function (99777f5)
  • update CHANGELOG.md (96221b0)
  • fixing JSON.parse on classes with enums (b9b7457)
  • perf: increase growth rate of bs (6469bc1)
  • chore: update algorithms (85331e6)
  • release: v1.1.20 (02a1fc1)
  • fix: update SIMD block in internal serialization (d3408e6)
  • feat: enable SIMD if available (b227485)
  • push (fd3cd70)
  • feat: spec-compliant SIMD string serialization (bac677f)
  • chore(deps-dev): bump @types/node from 22.15.34 to 24.0.7 (8c36a50)
  • release: v1.1.19 (441b041)
  • fix: #150 (de2b993)
  • perf: only initialize deterministically once if needed (b303cbe)
  • release: v1.1.17 (f244fc7)
  • chore: update changelog (caff4bb)
  • chore: format (d662877)
  • chore: format code (9307d94)
  • chore: update dependencies (0020679)
  • GH-148: Added comments to Src methods. Removed unused JSONTransform import. (f9e640b)
  • GH-148: Deleted unused classes.ts. Replaced with functionality in Src in types.js. (eb90f58)
  • GH-148: Handling of namespace and resolving extends within namespaces. Fix in package.json to allow setting of env variables in Windows. (51a323d)
  • Added tests with deserialization and serialization of objects in namespaces. Updated run-test.sh to allow argument to run specific test. (5edc545)
  • release: v1.1.16 (7be209e)
  • feat: allow usage with readonly types (9bd6628)
  • fix: #140 (1492f0c)
  • fix: make imports cross-platform (5363184)
  • fix: add support for windows (1e31421)
  • fix: do not generate empty methods if schema is custom (c0261d3)
  • chore: format and remove logs (894936f)
  • fix: properly initiate generics (2cecda8)
  • fix: also instantiate generics (180e083)
  • release: 1.1.15-preview.3 (3cd69b4)
  • fix: #142 (e359ba4)
  • release: 1.1.15-preview.2 (abf5b57)
  • fix: #137 (908614a)
  • feat: add support for custom schemas as properties (c5b1909)
  • chore: remove publish script (dfa8aef)
  • chore: format code (cbbe0d7)
  • release: v1.1.15-preview.1 (d068363)
  • chore(deps-dev): bump assemblyscript from 0.27.37 to 0.28.1 (234c775)
  • chore: format (eb5d4fb)
  • chore: add publish script (d406701)
  • release: v1.1.14-preview.1 (96c33f3)
  • release: v1.1.14 (6939da1)
  • chore: update readme (ec5aa11)
  • chore: update readme (5571f31)
  • fix: hotfix the schema resolver (fc0e4c1)
  • release: v1.1.13 (028e491)
  • fix: should check schema dependents (503f94a)
  • tests: add test for schema resolver (4a5cae4)
  • release: v1.1.12 (c2c458c)
  • chore: update changelog (dd29162)
  • chore: update readme (f003dba)
  • tests: fix missing explicit type in JSON.parse (0d1e1ec)
  • feat: add type alias resolving (4af3e64)
  • chore: add linkers to tsconfig (17318b6)
  • tests: add relevant tests for type aliases (adbd63a)
  • tests: add proper tests for generics (0e34fb1)
  • misc: update package.json (7549a0c)
  • fix: remove extra log (cf7303b)
  • fix: add support for numerical generics (a35e41f)
  • feat: properly support class generics (0fa7395)
  • fix: add warning on unknown type (e89df98)
  • release: v1.1.11 (a9c6524)
  • fix: remove extra logs (fdaa86c)
  • chore: update readme (1d65399)
  • chore: update changelog (bdaa311)
  • fix: revert back to searching only top-level class declarations (850a3de)
  • fix: add helpful error when class is missing an @JSON decorator (3a9a594)
  • fix: check for nulls when searching AST for imported classes (070dee9)
  • fix: dependent types must be visited first (52dea77)
  • release: v1.1.10 (5f57909)
  • docs: add debugging section (9820a5c)
  • chore: further update readme (623c797)
  • chore: update readme to 1.1.10 (8fa8a34)
  • fix: make new deserialization accurate to the port (29049e6)
  • chore: remove output (669e872)
  • chore: use JSON_DEBUG level (d1fed79)
  • fix: initialize struct on 2nd-layer deserialization (e580f9c)
  • sync (a87f722)
  • fix: only import once and add write option (8b3d8ec)
  • fix: keep sources separate for proper typing (d90df7f)
  • fix: properly hook up imports and types (21e7192)
  • release: v1.1.9 (3e91b14)
  • fix: should completely ignore structured types if they are not in the key list (6e5fca5)
  • tests: add more relevant tests (c520931)
  • chore: add back util (caf06a6)
  • fix: should ignore keys of different types (3033966)
  • tests: add relevant tests (dae5882)
  • chore: update README and test file (7257705)
  • feat: add large bench (7effd5a)
  • fix: revert index.ts (a248d91)
  • fix: code generator should continue if key is not found (3d4b3d7)
  • chore: make strict parsing opt-in (b8cf0c1)
  • feat: add a better testing framework (3c758bf)
  • fix: calculate boolean offsets correctly (138f1b3)
  • chore: uncomment test (86947ef)
  • release: v1.1.8 (fdee868)
  • chore: update readme (11f6bc5)
  • chore: update changelog (b7ef916)
  • fix: reset state if it has a custom serializer (011a885)
  • fix: use custom bs only if neseccary (65a1bef)
  • fix: grouping issues (1aee2e0)
  • feat: allow internal usage of JSON methods (c1ff316)
  • feat: add state management (6c81b86)
  • release: v1.1.7 (b72c3d0)
  • fix: bad logic in break signalling inside code generation (bf02447)
  • release: v1.1.6 (5ce4b37)
  • chore: update benchmarks (8901282)
  • fix: should not break out of main loop (760392a)
  • release: v1.1.5 (9a823f0)
  • release: v1.1.3 (4c6cc90)
  • feat: enforce strict key checking (c9d8db7)
  • chore: update readme (d7b978e)
  • chore: update ...
Read more