Skip to content

Latest commit

 

History

History
399 lines (277 loc) · 35.4 KB

CHANGELOG.md

File metadata and controls

399 lines (277 loc) · 35.4 KB

Changelog

1.1.27 (2023-10-03)

Bug Fixes

  • Add aliases for _Static_assert and _Alignof (fb3450a)
  • Add option to omit line markers (18c7f05)
  • Add option to print the included header files to stdout (490e39e)
  • Add support for C++20 VA_OPT (2de0592)
  • Add support for gcc-like inline asm declarations (303a0a7)
  • Availability of blocks extension (665e72b)
  • Availability of memory_sanitizer extension (595f6dd)
  • Break string and character literals on newlines (350793f)
  • Compatibility with xcode 15 (0b32c08)
  • Disallow parsing function definitions in for init statements (2d85c53)
  • Improve detection of header protections (70a5472)
  • Initial work on the parser binding context (bc4d32f)
  • Parse of braced initialized function pointers (933a625)
  • Parse of class specifiers in defining type ids (184e1dd)
  • Parse of template member expressions (6e43b5b)
  • Parse of template nested name specifier (93f32c2)
  • Parse of the true branch of an if statement (7dfd83f)
  • Print of variadic macro arguments (64a2b34)
  • Signature of first/lastSourceLocation (e071140)
  • Testing for __has_feature and __has_extension (a879a36)

1.1.26 (2023-09-23)

Bug Fixes

  • Add JavaScript API docs (810fcb1)
  • Copy cxx-js.d.ts to the build output directory (27f4d50)
  • Expose APIs to resolve include directives (cdac9c3)
  • Generate docs for cxx-frontend using typedoc (30366dc)
  • Rewrote build script using zx (8f01dfd)
  • Update the docs and add templates for node cjs, node esm and web (81fb699)

1.1.25 (2023-09-20)

Bug Fixes

  • Add support for c++23 consteval if statements (e3669c7)
  • Add support for c++23 elifdef and elifndef (94c0ec0)
  • Add support for c++23 lambda specifiers (eac4fad)
  • Package both esm and commonjs bundles (0ee29dc)
  • Parse c++23 deduce this (bec4386)
  • Use the bundler module resolution in the cxx-frontend package (91c28f9)

1.1.24 (2023-09-18)

Bug Fixes

  • Add support for pack expansion to using declarators (e60e914)
  • Avoid splitting >= and >>= tokens (2d407ce)
  • Disable blocks and objc extensions (c3dfb41)
  • Parsing of pure virtual destructors (4d73086)
  • Remove the trailing statement from the labeled statements (74ba101)

1.1.23 (2023-09-17)

Bug Fixes

  • Add APIs to get the AST slot name (3bb7c79)
  • Add SizeTypeSpecifierAST and SignTypeSpecifierAST (6ebf73e)
  • Removed Parsed.DEFAULT_WASM_BINARY_URL (5ff941c)
  • Renamed DeclaratorModifierAST to DeclaratorChunkAST (bc9cd83)

1.1.22 (2023-09-16)

Bug Fixes

  • Add nested name specifier to the class specifier AST node (8919a0a)
  • Add reference to the else token in the AST (e365784)
  • Improve the Editor with SyntaxTree story (b58a418)
  • Parsing of alignof expressions (7703791)
  • Parsing of module names (3c38cab)
  • Refactored support for template ids (a8e129d)
  • Reimplemented the support for nested name specifiers (a9f60ed)
  • Rewrite support for id-expressions (73b2e80)
  • Set the initial location of the for-statement in the AST (b23bd1d)
  • Set the template type parameter name in the AST (3653720)
  • Update React Editor component (cf6cf4f)

1.1.21 (2023-09-04)

Bug Fixes

  • AST creation of equal initializers (9a224d5)
  • Expose TokenKind attributes to JavaScript (335824c)

1.1.20 (2023-08-28)

Bug Fixes

  • Add AST node for await expressions (76acaa8)
  • Add AST node for bitfield declarations (a0d0b15)
  • Add AST node for deduction guides (89aa17e)
  • Add AST node for new declarators (4e9134e)
  • Add AST node for new expressions (e20770e)
  • Add AST node for noexcept specifiers (588c08a)
  • Add AST node for the pack expansions (3fa2c5b)
  • Add AST node for yield expressions (aacbed0)
  • Add AST nodes to represent parameter packs (f182718)
  • Don't print bool attributes with default values (e681866)
  • Expose the AST attributes to the JS API (658afb7)
  • Parse of deduction guide in class scopes (b99baa5)
  • Renamed GCCAttribute to GccAttribute (977ee14)
  • Set the declaration of the for range statement (50a4800)
  • Set the variadic attribute of function prototypes (8306e86)
  • Set the virt specifier attributes (51d0e8f)

1.1.19 (2023-08-22)

Bug Fixes

  • Add AST for designated initializers (f36c3f4)
  • Add AST node for underlying type specifier (c716cc0)
  • Add AST node for using enum declaration (bf5f22a)
  • Add missing attributes to the enumerator AST node (bd2c9cd)
  • Add structured binding declaration AST nodes (3cbbc6a)
  • Dump the AST in plain text instead of JSON (ec19f4f)
  • Parse of class virt specifiers (97cb51e)
  • Parse of inline for namespace definitions (80a34cf)
  • Print TokenKind in AST dump (0583d39)
  • Represent intiializers as expressions in the AST (629ca3c)
  • Set access and virt specifier to the base specifier ast nodes (613a070)
  • Set access specifier of access declaration AST nodes (dc7a545)
  • Set class key of class specifier AST nodes (f610253)
  • Set class key of elaborated type specifiers (a8db107)
  • Set location of the atomic type specifier (8d8e07b)
  • Set the name of ctor member initializers (35fdf21)
  • stddef.h: add missing typedefs (3ea986f)
  • Store the namespace name in the AST (5df694b)
  • Store the value of the boolean literals in the AST (a2fbad8)

1.1.18 (2023-08-14)

Bug Fixes

  • Temporary workaround to parse post increments #118 (29611ee)

1.1.17 (2023-07-12)

Bug Fixes

  • Add AST for the C++ attributes (aedc6a7)
  • Add cxx-gen-ast (4030a30)
  • Add decltype(auto) type (2a8ef93)
  • Build the emscripten bindings with EXPORT_ES6=1 (#106) (91926d7)
  • Encode common literals (c8c3d84)
  • Encode source locations (58f7719)
  • Expose the Lexer API to TypeScript (1982d22)
  • Expose the preprocessor API to TypeScript (90e1f8a)
  • Expose TranslationUnit to TypeScript (7792714)
  • Implement __has_include_next (3d59a07)
  • Initial work on the flatbuffers based serializer (#89) (740e678)
  • Merge adjacent string literals (80d5b9f)
  • Print array types (a9ae0d2)
  • Print of const pointers (f7b2be8)
  • Print of function types (72d6c30)
  • Renamed -fserialize-ast to -emit-ast (ea24578)
  • Serialize the identifiers (c430188)

1.1.16 (2023-06-11)

Bug Fixes

  • Add option to install the WASI sysroot (301700a)
  • Add option to specify the path to the wasi sysroot (a642d6b)
  • Build the emscripten bindings with WASM_BIGINT=1 (4c4e4c9)
  • Classify int64 and int128 integer types (c40a7fc)
  • Import wasi sysroot as an external dependency (414e699)
  • Link the wasi sysroot in the build directory (e82a63d)
  • Pretty print the JSON output AST (70d8119)
  • Reduce size of the emscriten wasm binary (3122c4d)

1.1.15 (2023-06-04)

Bug Fixes

  • Add APIs to set/get the current working directory (d0e7328)
  • Add support for Xcode 14 (a8896dd)
  • Add TemplateParameterList (6ee556c)
  • Add wasm32-wasi toolchain definitions (2656bc7)
  • Build using wasm-sdk (1f9bb71)
  • Build when C++ exceptions are not available (8fb8cca)
  • Clean up parsing of template declarations (99a45ae)
  • Create symbols for the template type parameters (9566308)
  • Link with the LLVM libraries (0948526)
  • Modernize the code (9ea5f41)
  • Optimize the size of the wasi binary (ac3dd33)
  • Path to macOS toolchain (f5078d6)
  • preproc: Output GNU stile output directives (4a97d38)
  • Remove filesystem from the public API (cac00e3)
  • Removed TypenamePackTypeParameterAST (2b7989a)
  • Use the utf8 unchecked api (328ce98)

1.1.14 (2022-02-26)

Bug Fixes

  • Build with emscripten 3.1.4 (4751aa7)
  • parser: Create symbols for the template declarations (0da8b46)
  • Restructured the code base (9e405a7)

1.1.13 (2021-12-02)

Bug Fixes

  • parser: Add checked/setChecked to the AST nodes (52501b5)
  • parser: Implemented __is_arithmetic (3e0c377)
  • parser: Implemented __is_compound (37b90ee)
  • parser: Implemented __is_floating_point (a165026)
  • parser: Implemented __is_fundamental (4ef0374)
  • parser: Implemented __is_integral (1891675)
  • parser: Implemented __is_object (b60f382)
  • parser: Implemented __is_scalar (52d64d3)

1.1.12 (2021-11-28)

Bug Fixes

  • parser: Add AST nodes for unary and binary type traits (3c76fa3)
  • parser: Create AST node for built-in type traits (5b7b0e3)
  • parser: Fix sizeof of bool type (46041b8)
  • parser: Fix type of nullptr literals (3e8b8be)
  • parser: Implemented __is_function__ (4d3e5da)
  • parser: Implemented __is_lvalue_reference, __is_rvalue_reference and __is_reference (d148471)
  • parser: Implemented __is_member_object_pointer (eeeece2)
  • parser: Implemented is_const and is_volatile type traits (918a680)
  • parser: Implemented the __is_class and the __is_union type traits (bae22f3)
  • parser: Implemented the __is_enum and the __is_scoped_enum type traits (f9a05f2)
  • parser: Implemented the __is_null_pointer type traits (1a4837f)
  • parser: Implemented the __is_pointer type traits (5f62b9a)
  • parser: Implemented the __is_signed and the __is_unsigned type traits (1f23b9f)
  • parser: Implemented the __is_void type traits (951b03a)
  • preproc: Remove newline from the diagnostic message raised from #warning directives (a708e3c)

1.1.11 (2021-11-25)

Bug Fixes

  • js: Build the npm package using emsdk 2.0.34 (10e384e)

1.1.10 (2021-11-25)

Bug Fixes

  • parser: Add support for the __is_same_as built-in function (f80aa30)
  • parser: Add support for type aliases (6934355)
  • parser: Create the AST of using directives (d43c447)
  • parser: Fix the type of logical expressions (c9258dc)
  • parser: Initial support for sizeof and alignof expressions (bd6a255)
  • parser: Initial support for the decltype specifier (a24978c)
  • parser: Set type of conditional expressions (bcf8776)

1.1.9 (2021-11-22)

Bug Fixes

  • ci: Enable release-please action (95245b0)
  • cli: Add -fsyntax-only to the cli (50332b2)
  • cli: Tag the code generation options as experimental (33439bc)
  • ir: Generate code for the logical_or expressions (c1c0131)
  • js: Add an example showing how to check the syntax of a C++ document (3568e92)
  • js: Export the symbols defined in Token.js (7d68898)
  • parser: Resolve type names (798f475)

1.1.8 (2021-11-14)

Bug Fixes

  • parser: Add classes to represent the utf string literals (ec3575e)
  • parser: Add placeholder types (da8de74)
  • parser: Add symbol printer (f65b25c)
  • parser: Clean up Type (feed0ae)
  • parser: Remove qualifiers from pointer type (e5f56c2)
  • parser: Support alternative operator spelling (eab8b86)

1.1.7 (2021-11-11)

Bug Fixes

  • cmake: Add cmake install targets (b1e0853)
  • preproc: Allow multiple definitions of the same macro (2927a6e)

1.1.6 (2021-11-09)

Bug Fixes

  • preproc: Add support for the COUNTER built-in macro (ecf2be8)
  • preproc: Add support for the DATE and TIME built-in macros (a0015a7)
  • preproc: Add support for the FILE built-in macro (23be3a2)
  • preproc: Add support for the LINE built-in macro (ac7abf9)

1.1.5 (2021-11-06)

Bug Fixes

  • ci: Add support for multi-config cmake projects (4ae48c3)
  • parser: Parse initialized function pointers (00fb809)
  • parser: Validate the reported diagnostic messages (950f1d1), closes #38
  • preproc: Fix macro redefinition (9d5b07f)

1.1.4 (2021-10-30)

Bug Fixes

  • parser: Create AST for simple for-range declarations (3e51ae7)
  • preproc: Add support for comment handlers. (95c5f08)
  • preproc: Avoid resolving files when access to the fs is not allowed (d5d74b7)

1.1.3 (2021-10-29)

Bug Fixes

  • parser: Fix parsing of placeholder type specifiers (3b3f273)
  • parser: Update the system search paths of the mocOS toolchain (85d9226)

1.1.2 (2021-10-27)

Bug Fixes

  • parser: Create AST for modules (ce61309)
  • parser: Create AST for qualified type names (cd6c437)
  • parser: Store the location of the export token of compound export declarations (81a4bfd)

1.1.1 (2021-10-25)

Bug Fixes

  • docs: Add example to README.md (255ba0b)
  • js: Add missing .js extension in import directive (9a48ade)

1.1.0 (2021-10-25)

Features

  • js: Add TokenKind and Token.getKind() (f1f11a8)
  • js: Added ASTCursor (146b166)

Bug Fixes

  • js: Extend ASTSlot to return the kind and number of slots (4d3f313)
  • js: Made AST.getEndLocation() inclusive (5849ef3)
  • parser: Store the location of the if-token in the AST (050a877)
  • parser: Test for invalid source locations (878a4aa)

1.0.0 (2021-10-23)

Features

  • json: Improved support to convert the AST to JSON (d15d466)
  • js: Use rollup to build the JavaScript bindings. (b99eb55)

Bug Fixes

  • docs: Update the example code in the README.md file (459e837)
  • js: Build with NO_DYNAMIC_EXECUTION to allow using the library in trusted browser environments (97eb589)
  • lexer: Scan the characters using the UTF-8 unchecked API (654e227)
  • parser: Create the AST for concept requirements (5600bb4)
  • parser: Create the AST for requires-clause (23aa6a3)
  • parser: Fix parsing of parameters in template declarations (1dc66ce)
  • parser: Store the AST of the template parameters (f0da7a0)
  • preproc: Access the hidesets using transparent comparisons (96b484d)
  • preproc: Reduced the number of the temporary tokens (d092959)
  • preproc: Trim space characters at the end of the text lines (03e2518)