https://gitlab.com/nomadic-labs/data-encoding/

sort by:
Revision Author Date Message Commit Date
3a6e2b4 Merge branch 'drafts' into 'master' json-schema new drafts See merge request nomadic-labs/data-encoding!156 28 March 2024, 15:13:58 UTC
74277cb json-schema: fix missing collection of id definition in of_json 27 March 2024, 08:58:37 UTC
5da7e36 json-schema: draft-2020-12 changes reference: https://json-schema.org/draft/2020-12/release-notes changes: - structure with items, additionalItems and prefixItems for arrays 27 March 2024, 08:58:30 UTC
34340d4 json-schema: draft-2019-09 changes reference: https://json-schema.org/draft/2019-09/release-notes changes: - minContains, maxContains 27 March 2024, 08:58:20 UTC
2cb6fa5 json-schema: draft-07 changes reference: https://json-schema.org/draft-07/json-schema-release-notes changes: - readOnly, writeOnly - if, then, else - contentMediaType, contentEncoding for strings 27 March 2024, 08:58:18 UTC
b760d75 json-schema: draft_06 changes reference: https://json-schema.org/draft-06/json-schema-release-notes changes: - $id instead of id - exclusiveMinimum and exclusiveMaximum as numbers - propertyNames for arrays - contains for arrays - const as single enum - examples 27 March 2024, 08:56:47 UTC
877a989 json-schema: optionally add the dialect 21 February 2024, 09:13:18 UTC
a321ba5 json-schema: different drafts 21 February 2024, 09:13:18 UTC
18512d7 json-schema: possible infered types with type fields 21 February 2024, 09:13:18 UTC
c6ee2e8 json-schema: fill properties with required properties 21 February 2024, 09:12:38 UTC
3e0b6a6 json-schema: additional properties default is true 20 February 2024, 15:03:55 UTC
4792dba Add local _opam to .gitignore 20 February 2024, 14:59:21 UTC
8e5193c Merge branch 'length-headers-are-unsigned' into 'master' Fix bug: Length headers are unsigned See merge request nomadic-labs/data-encoding!154 26 October 2023, 06:44:23 UTC
33c8f1f Be defensive about negative lengths 25 October 2023, 16:11:00 UTC
a113ff5 Prevent possibly-negative-length list encoding construction 25 October 2023, 13:07:23 UTC
cb32ac8 Show bug 25 October 2023, 13:07:18 UTC
5a50495 Merge branch 'v1.0.0-release' into 'master' V1.0.0 release See merge request nomadic-labs/data-encoding!124 03 April 2023, 13:48:00 UTC
6275677 mark json-data-encoding conflict with data-encoding!=version 27 March 2023, 08:08:55 UTC
a025e43 remove sub-string test - it relies on behaviour of the compiler we shouldn't rely on - js-of-ocaml has a different semantic for that - it checks a property that no user should ever to rely on 17 March 2023, 16:38:17 UTC
92f19a2 mark tests with their package 06 March 2023, 15:51:20 UTC
d3978ca Bump bigstringaf minimal version This is for the availability of the js stubs. 03 March 2023, 17:27:25 UTC
c13ad14 mark `misc/` as vendored to avoid dune reading too much into it 03 March 2023, 10:42:59 UTC
8b2aa1d meniton version in opam files to help the CI 03 March 2023, 10:34:57 UTC
d155bdf unbreak javascript tests 03 March 2023, 10:34:57 UTC
aabe464 fix some "unused value" warning 03 March 2023, 10:34:57 UTC
c931e82 add jsoo-related test dependencies 01 March 2023, 14:18:14 UTC
96ca7e1 ppx_expect is not (just) a test dependency 01 March 2023, 14:08:34 UTC
d2c361c mark tests with the package they belong to 01 March 2023, 10:12:25 UTC
8019f49 bump minimal requirement for dune to 3.0 01 March 2023, 10:12:07 UTC
7c15f91 remove version number from opam files 28 February 2023, 16:22:37 UTC
cc362d9 use `Stdlib.Result` to make sure it's not `result`'s `Result` 28 February 2023, 08:04:50 UTC
b8b43bb bump dependency lower-bounds in opam file Job checking the lower bounds: https://ci.ocamllabs.io/gitlab/nomadic-labs/data-encoding/commit/516dc4518bab7f93f46ff1777f538ea9c872256a/variant/%28lint-lower-bounds%29 Output (excerpt): The following actions will be performed: - install conf-gmp 1 - install conf-m4 1 - install jbuilder 1.0+beta20.1 - install result 1.0 - install ocamlbuild 0.14.0 - install dune 2.0.1 - install conf-perl 1 - install conf-which 1 - install ocamlfind 1.8.1 - install ppx_derivers 1.0 - install ocaml-compiler-libs v0.11.0 - install bigstringaf 0.1.0 - install uchar 0.0.2 - install zarith_stubs_js v0.12.0 - install sexplib0 v0.13.0 - install seq 0.2.2 - install either 1.0.0 - install dune-private-libs 2.0.1 - install zarith 1.4 - install topkg 0.8.1 - install num 1.0 - install easy-format 1.0.1 - install base-bytes base - install ocaml-migrate-parsetree 1.5.0 - install re 1.8.0 - install dune-configurator 2.0.1 - install cmdliner 1.0.0 - install afl-persistent 1.1 - install biniou 1.2.0 - install stringext 1.4.0 - install omd 1.3.1 - install cppo 1.6.1 - install astring 0.8.2 - install ppx_tools_versioned 5.2.3 - install base v0.13.1 - install uutf 1.0.1 - install fmt 0.8.0 - install md2mld 0.2.0 - install yojson 1.5.0 - install ocplib-endian 1.0 - install variantslib v0.13.0 - install stdio v0.13.0 - install parsexp v0.13.0 - install fieldslib v0.13.0 - install jsonm 1.0.1 - install alcotest 0.8.0 - install js_of_ocaml-compiler 3.5.2 - install crowbar 0.2 - install ppxlib 0.12.0 - install sexplib v0.13.0 - install js_of_ocaml 3.5.2 - install ppx_variants_conv v0.13.0 - install ppx_sexp_conv v0.13.0 - install ppx_inline_test v0.13.0 - install ppx_here v0.13.0 - install ppx_fields_conv v0.13.0 - install ppx_compare v0.13.0 - install ppx_cold v0.13.0 - install cstruct 3.0.0 - install uri 1.9.5 - install ppx_custom_printf v0.13.0 - install ppx_hash v0.13.0 - install ppx_assert v0.13.0 - install hex 1.3.0 - install ppx_expect v0.13.0 - install ezjsonm 0.5.0 […] ocamlc src/.data_encoding.objs/byte/data_encoding__Binary_slicer.{cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "src/binary_slicer.ml", line 306, characters 41-62: 306 | ~pp:(fun b -> Format.sprintf "%S" (Bigstringaf.to_string b)) ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlopt src/.data_encoding.objs/native/data_encoding__Binary_slicer.{cmx,o} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt […]) File "src/binary_slicer.ml", line 306, characters 41-62: 306 | ~pp:(fun b -> Format.sprintf "%S" (Bigstringaf.to_string b)) ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlc src/.data_encoding.objs/byte/data_encoding__Binary_writer.{cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "src/binary_writer.ml", line 227, characters 4-29: 227 | Bigstringaf.blit_to_bytes s ~src_off:0 state.buffer ~dst_off:ofs ~len:length ^^^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.blit_to_bytes ocamlopt src/.data_encoding.objs/native/data_encoding__Binary_writer.{cmx,o} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt […]) File "src/binary_writer.ml", line 227, characters 4-29: 227 | Bigstringaf.blit_to_bytes s ~src_off:0 state.buffer ~dst_off:ofs ~len:length ^^^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.blit_to_bytes ocamlopt src/.data_encoding.objs/native/data_encoding__Binary_stream_reader.{cmx,o} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt […]) File "src/binary_stream_reader.ml", line 286, characters 4-31: 286 | Bigstringaf.blit_from_bytes buf ~src_off:ofs b ~dst_off:0 ~len:length ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.blit_from_bytes ocamlc src/.data_encoding.objs/byte/data_encoding__Binary_stream_reader.{cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "src/binary_stream_reader.ml", line 286, characters 4-31: 286 | Bigstringaf.blit_from_bytes buf ~src_off:ofs b ~dst_off:0 ~len:length ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.blit_from_bytes ocamlopt src/.data_encoding.objs/native/data_encoding__Binary_length.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlopt src/.data_encoding.objs/native/data_encoding__Binary_reader.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlc src/.data_encoding.objs/byte/data_encoding__Json.{cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "src/json.ml", line 322, characters 14-35: 322 | Bigstringaf.to_string ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlopt src/.data_encoding.objs/native/data_encoding__Json.{cmx,o} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt […]) File "src/json.ml", line 322, characters 14-35: 322 | Bigstringaf.to_string ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlc src/.data_encoding.objs/byte/data_encoding__V1.{cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "src/v1.ml", line 185, characters 14-35: 185 | Bigstringaf.to_string s) ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlopt src/.data_encoding.objs/native/data_encoding__V1.{cmx,o} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt […]) File "src/v1.ml", line 185, characters 14-35: 185 | Bigstringaf.to_string s) ^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.to_string Hint: Did you mean of_string? ocamlc test/.test.eobjs/byte/dune__exe__Guarded_conv.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/guarded_conv.ml", line 62, characters 10-22: 62 | assert (Result.is_ok s) ; ^^^^^^^^^^^^ Error: Unbound value Result.is_ok ocamlc test/.test.eobjs/byte/dune__exe__Guarded_decode.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/guarded_decode.ml", line 60, characters 10-22: 60 | assert (Result.is_ok s) ; ^^^^^^^^^^^^ Error: Unbound value Result.is_ok ocamlc test/.test.eobjs/byte/dune__exe__Helpers.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/helpers.ml", line 57, characters 6-20: 57 | Alcotest.failf ^^^^^^^^^^^^^^ Error: Unbound value Alcotest.failf Hint: Did you mean fail? ocamlc test/.test.eobjs/byte/dune__exe__Registrationed.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/registrationed.ml", line 40, characters 12-26: 40 | | None -> Alcotest.failf "Could not find %s" id ^^^^^^^^^^^^^^ Error: Unbound value Alcotest.failf Hint: Did you mean fail? ocamlc test/.test.eobjs/byte/dune__exe__Slice_test.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/slice_test.ml", line 296, characters 11-25: 296 | else Alcotest.failf "Unexpected slicintg result %s /= %s" pretty_printed r ^^^^^^^^^^^^^^ Error: Unbound value Alcotest.failf Hint: Did you mean fail? ocamlc test/expect/.data_encoding_expect_tests.objs/byte/data_encoding_expect_tests__Bigstr.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/expect/bigstr.ml", line 30, characters 12-35: 30 | let res = Ezjsonm.value_to_string json in ^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Ezjsonm.value_to_string ocamlc test/expect/.data_encoding_expect_tests.objs/byte/data_encoding_expect_tests__Stringbytes.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/expect/stringbytes.ml", line 30, characters 12-35: 30 | let res = Ezjsonm.value_to_string json in ^^^^^^^^^^^^^^^^^^^^^^^ Error: Unbound value Ezjsonm.value_to_string ocamlopt src/.data_encoding.objs/native/data_encoding__Encoding.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlc test/.test.eobjs/byte/dune__exe__Write_failure.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/write_failure.ml", line 35, characters 6-20: 35 | Alcotest.failf "Unexpected exception: %s." (Printexc.to_string exn) ^^^^^^^^^^^^^^ Error: Unbound value Alcotest.failf Hint: Did you mean fail? ocamlopt test/.test.eobjs/native/dune__exe__Uint_like_n.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlopt test/.test.eobjs/native/dune__exe__Int_like_z.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlc test/pbt/.test_generated.eobjs/byte/dune__exe__Generators.{cmi,cmo,cmt} (exit 2) (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt […]) File "test/pbt/generators.ml", line 792, characters 9-27: 792 | && Bigstringaf.memcmp a 0 b 0 (Bigstringaf.length a) = 0 ^^^^^^^^^^^^^^^^^^ Error: Unbound value Bigstringaf.memcmp ocamlopt test/.test.eobjs/native/dune__exe__Types.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque ocamlopt test/expect/.data_encoding_expect_tests.objs/native/data_encoding_expect_tests__Base.{cmx,o} File "_none_", line 1: Warning 58: no cmx file was found in path for module Z, and its interface was not compiled with -opaque 28 February 2023, 07:59:59 UTC
516dc45 CI: also test on 5.0.0 27 February 2023, 13:36:22 UTC
a42c9be Update ocamlformat (for compatibility with ocaml5) 27 February 2023, 13:31:49 UTC
349449d Make data-encoding versioned 27 February 2023, 09:19:45 UTC
1adbc82 CHANGELOG 08 February 2023, 07:29:13 UTC
57d6658 Merge branch 'bigarray' into 'master' Support for bigstring See merge request nomadic-labs/data-encoding!120 07 February 2023, 12:58:21 UTC
e16b027 Don't use `Bigstringaf.t` type inside descr, use `bigstring` instead 07 February 2023, 12:46:33 UTC
36dd113 Improve bigstring docs and Bounded bounds handling 07 February 2023, 10:21:31 UTC
94fd6fa Misc: improve two assertion checks 07 February 2023, 10:21:31 UTC
2090a28 Improve bigstring combinators interface 07 February 2023, 10:21:31 UTC
a640f3e Add comments around some of the new code 07 February 2023, 10:21:31 UTC
d2b2d45 Support for bigstring 07 February 2023, 10:21:30 UTC
5be9f14 avoid some traversal by avoiding array-list conversions 07 February 2023, 10:18:42 UTC
bfb4ca7 Merge branch 'endianness' into 'master' Endianness See merge request nomadic-labs/data-encoding!119 07 February 2023, 10:17:39 UTC
8fe2bf0 Move endianness into TzEndian 19 January 2023, 16:16:30 UTC
b3c7a28 Refactor endianess further 19 January 2023, 16:16:30 UTC
4fba3ea Simplification/factorisation of endian-dependent code 19 January 2023, 16:16:30 UTC
1d1367a Fix typo in tutorial 19 January 2023, 16:16:30 UTC
37fe443 Add comment to explain implementation quirk 19 January 2023, 16:16:30 UTC
3c32703 More explicit names for endianness 19 January 2023, 16:16:30 UTC
b59ea19 Restore ocaml.4.10 compatibility 19 January 2023, 16:16:30 UTC
0807a7b Endian API in the tutorial 19 January 2023, 16:16:30 UTC
3a25651 Big_endian module for completeness of the API 19 January 2023, 16:16:30 UTC
2baf0e4 PBT tests for endianness 19 January 2023, 16:16:30 UTC
93c51f8 Expect tests for endianness 19 January 2023, 16:16:30 UTC
837b865 Support endianness 19 January 2023, 16:16:30 UTC
bdcc265 Merge branch 'json-data-encoding-open-MRs' into 'master' Json data encoding open MRs See merge request nomadic-labs/data-encoding!117 19 January 2023, 16:14:22 UTC
ea7512a Fix test name 16 January 2023, 12:27:17 UTC
6f414b1 Add `ignore_extra_fields` parameter to `destruct` 16 January 2023, 11:13:42 UTC
9a72ba7 more assertive exn-destruct tests 16 January 2023, 11:13:42 UTC
bc0ba42 Make destruct only raise Cannot_destruct as exception 16 January 2023, 11:13:28 UTC
7cd8f25 replace definition lists by AVLs 04 January 2023, 08:22:06 UTC
9b15312 Merge branch 'handle-title-for-compact-descriptions' into 'master' Handle title for compact descriptions See merge request nomadic-labs/data-encoding!115 23 December 2022, 09:55:35 UTC
fafd748 better case stringification 23 December 2022, 09:50:53 UTC
ea97fca Carry `title` through the compact abstraction 23 December 2022, 09:48:02 UTC
2feac00 Merge branch 'lts-stabilisation-before-rewrite' into 'master' LTS stabilisation before rewrite See merge request nomadic-labs/data-encoding!114 29 November 2022, 14:05:04 UTC
ebd053e Improve lazy-bytes test 29 November 2022, 14:00:28 UTC
09d0dff Add lazy-encodings to expect/describe test 15 November 2022, 14:38:20 UTC
296206b Add lazy-bytes test 15 November 2022, 14:38:20 UTC
c5d041b Make binary-to-json conversion of lazy-bytes more resilient to failures 15 November 2022, 14:38:20 UTC
da4e8aa Explicit version in opam files to allow local build 15 November 2022, 14:38:20 UTC
f73796d version constraints across packages of the same repo use = 15 November 2022, 14:38:20 UTC
e2da540 Add json-data-encoding in tree 15 November 2022, 14:38:20 UTC
d06b8a4 Merge branch 'fix-slash-improve-binary-schema-generation' into 'master' Fix/improve binary schema generation See merge request nomadic-labs/data-encoding!113 14 November 2022, 09:58:07 UTC
34b6c20 mention fix in CHANGES 14 November 2022, 08:22:40 UTC
ddd4ffd Simplify schema/description code a bit 14 November 2022, 08:22:33 UTC
b2ace9b Even more more expect/describe testing 14 November 2022, 08:22:12 UTC
fe6cae9 More complex expect/describe tests 14 November 2022, 08:11:10 UTC
f2dad84 Additional expect test for schemas 21 October 2022, 10:00:01 UTC
f81c618 Handle (and test) dynamic-size N in binary schemas 20 October 2022, 15:01:57 UTC
2d51c28 Merge branch 'prepare-for-release-0-7' into 'master' Prepare for release 0 7 See merge request nomadic-labs/data-encoding!110 29 September 2022, 07:51:00 UTC
aea70e5 Fix opam constraints on json-data-encoding 27 September 2022, 06:56:33 UTC
42e9db7 Merge branch 'small-doc-improvement' into 'master' Improve documentation of z and n Closes #61 See merge request nomadic-labs/data-encoding!109 27 September 2022, 06:43:03 UTC
733c4b2 Improve documentation of z and n 27 September 2022, 06:26:20 UTC
0343005 Merge branch 'safer-encoding-module' into 'master' SaferEncoding See merge request nomadic-labs/data-encoding!96 22 September 2022, 14:35:17 UTC
7462b69 Some safer combinators for some common user errors > User errors are the symptom of design issues and to we change the design a bit in this commit 22 September 2022, 14:30:36 UTC
d2e90ad Merge branch 'archaephyrryx-base-patch' into 'master' Registration: extends API to allow introspection See merge request nomadic-labs/data-encoding!108 22 September 2022, 08:20:54 UTC
a473720 Registration: extends API to allow introspection Introduces new GADT `encoding` to `registration.ml{,i}` that allows external libraries and tools more (albeit still limited) access to the unknown-type `Encoding.t` stored in a `Registration.t`. This type is made transparent in the MLI to allow external libraries and tools to define functions that operate on the arbitrary-typed `Encoding.t` held in an argument of type `Registration.encoding` Adds `find_encoding` and `iter` functions to query for/operate on values of type `Registration.encoding`. ---------------- Registration: exposes and documents new items Exposes and documents the encoding type, as well as the find_encoding and iter functions, defined originally in registration.ml[i], in data_encoding.mli. Removes dummy .gitmodules file ---------------- Rename introspection-related type and bunch interface items together 22 September 2022, 08:16:32 UTC
7d3bc29 Merge branch 'hans.hoglund-master-patch-81650' into 'master' Fix dead link in README See merge request nomadic-labs/data-encoding!100 22 September 2022, 08:06:58 UTC
14062e1 Point to onl'ine hosting places of the tutorial 22 September 2022, 08:03:48 UTC
3e68295 Fix dead link in README The tutorial link is currently dead. This patch replaces the link target with an automatic Gitlab page. 22 September 2022, 08:03:48 UTC
38abf55 Merge branch 'fix-empty-fields-when-tups-of-zero-width' into 'master' Ensure that tups of zero-width are described with non-empty `fields` See merge request nomadic-labs/data-encoding!103 22 September 2022, 08:01:17 UTC
d93de65 Use `fields: []` to mark empty products in binary schemas 22 September 2022, 07:55:40 UTC
c9dcb0a Fix fixed-size description 22 September 2022, 07:55:40 UTC
da6c183 Expect test for descriptions 22 September 2022, 07:55:40 UTC
f233d69 Bump json-data-encoding version constraint 22 September 2022, 07:55:40 UTC
bd10b74 Merge branch 'hsaito@dynamic_size_n2' into 'master' Add `N kind for Dynamic_size Closes #54 See merge request nomadic-labs/data-encoding!93 21 September 2022, 15:43:47 UTC
e5a93ee Use `min-int` in the invalid_int to hint at overflow 21 September 2022, 15:06:41 UTC
ba5291b Simplify dynamic-size-N writing 21 September 2022, 15:06:41 UTC
back to top