All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
1.54.0 (2022-02-15)
1.53.0 (2022-02-09)
- add configuration for Visual Studio Code (#3309) (3edf74c)
- go: add UnsafeCast function (#3316) (19da85e)
- go: Use type registry to find the correct target type for JSII Proxy (#3354) (75d94ef), closes #3353 #2819
- rosetta: Rosetta manages dependencies automatically (#3269) (f0b811b)
- dontet: excessive overrides generated (#3355) (5460d66)
- go: replace uses of CanConvert to Type.AssignableTo (#3373) (ae4ea62)
- go: unable to reuse instances between child/parent interfaces (#3321) (70be636)
- jsii: breaks due to faulty version of
colors(#3328) (13c0737) - jsii: compiler allows inheriting interface-violating members (#3343) (b5037b9), closes #3342
- jsii: excessive overrides declarations registered (#3375) (64a5984)
- jsii: submodule READMEs don't have literate examples (#3347) (5769771), closes aws/aws-cdk#18589
- kernel: kernel's private object annotations are enumerable (#3339) (d361c7b)
- pacmak: greatly reduce go code-gen memory footprint (#3362) (77b520f)
- python: cannot call a method that takes an empty struct (#3372) (c36b67c), closes #2846
- remove the "comments rewriter" (#3368) (50dd3b0)
- superchain: failure to download PowerShell (#3340) (59eaaa3)
1.52.1 (2022-01-09)
1.52.0 (2022-01-07)
1.51.0 (2022-01-06)
- jsii: cannot use submodule types from assemblies before 1.39.0 (#3306) (949d5f0), closes #3233
- rosetta: Python translation for
implementsis wrong (#3280) (a833a1d), closes aws/aws-cdk#17928
1.50.0 (2021-12-24)
- jsii: color codes are logged to logfiles (#3284) (2c8c647)
- jsii: slow with deep dependency tree (#3294) (04d64c9)
- pacmak: fails on bundled dependency without entry point (#3277) (6e5a0b5), closes #3275
- rosetta: diagnostics from infused snippets were not ignored (#3282) (ad7f6a4)
- rosetta: infused snippets not returned from cache (#3291) (dd44431)
- rosetta: non-compiling snippets not reported on subsequent extracts (#3260) (771190b)
- rosetta: transliterate command does not translate in parallel (#3262) (beeadaa)
1.49.0 (2021-12-14)
- improve compatibility with restricted-export modules (#3205) (31a7172)
- jsii: correctly identify types regardless of import method (#3233) (aa37d62), closes aws/aws-cdk#17860
- jsii: handle imports from libraries compiled with old jsii (#3245) (133d1cf), closes #3233 #3233
- jsii: symbolid for single-valued enums is incorrect (#3234) (83d3fc8)
- rosetta:
rosetta extractfails if run afterrosetta infuse(#3248) (e3ec929) - rosetta: classes are not correctly identified if package uses an outDir (#3225) (05631a7)
- rosetta: infuse drops first assembly (#3243) (29a6a84)
1.48.0 (2021-12-13)
- reflect: add
allTypesaccessor (#3194) (41f301a) - rosetta: metadata tag for fixtures in docs (#3200) (8cefa8b)
- rosetta: generate rosetta tablets next to each assembly (#3223) (1e7b604)
- rosetta: reuse output file as additional cache and introduce
--infuseoption forextract(#3210) (ccb3c57)
- improve compatibility with restricted-export modules (#3205) (31a7172)
- jsii: constants can't mix letters and digits (#3209) (a444e29), closes #3208
- jsii: correctly identify types regardless of import method (#3233) (aa37d62), closes aws/aws-cdk#17860
- jsii: deprecation message is not displayed for deprecated classes (#3206) (3841538)
- jsii: handle imports from libraries compiled with old jsii (#3245) (133d1cf), closes #3233 #3233
- jsii: symbolid for single-valued enums is incorrect (#3234) (83d3fc8)
- pacmak: don't automatically translate examples without asking (#3219) (937f8c3)
- rosetta:
extractignores--compileoption (#3193) (639c510) - rosetta: classes are not correctly identified if package uses an outDir (#3225) (05631a7)
- rosetta: enum resolution breaks for properties (#3190) (3b49066)
- rosetta: infuse drops first assembly (#3243) (29a6a84)
- rosetta: use
--compileflag by default (#3218) (9df7950)
1.47.0 (2021-12-06)
- reflect: add
allTypesaccessor (#3194) (41f301a) - rosetta: metadata tag for fixtures in docs (#3200) (8cefa8b)
- rosetta: generate rosetta tablets next to each assembly (#3223) (1e7b604)
- rosetta: reuse output file as additional cache and introduce
--infuseoption forextract(#3210) (ccb3c57)
- jsii: constants can't mix letters and digits (#3209) (a444e29), closes #3208
- jsii: deprecation message is not displayed for deprecated classes (#3206) (3841538)
- pacmak: don't automatically translate examples without asking (#3219) (937f8c3)
- rosetta:
extractignores--compileoption (#3193) (639c510) - rosetta: enum resolution breaks for properties (#3190) (3b49066)
- rosetta: use
--compileflag by default (#3218) (9df7950)
1.46.0 (2021-11-21)
- rosetta:
extractignores--compileoption (#3193) (639c510) - rosetta: enum resolution breaks for properties (#3190) (3b49066)
1.45.0 (2021-11-18)
- C# NamespaceDoc emitted to wrong location (#3183) (0f5f349)
- jsii: require statement for the warning file is generated when it's not used (#3184) (3d90ae6)
- pacmak: dotnet code docs loses indentation (#3180) (ace0b83)
- pacmak: Generate Relative Module Imports in Python (#3181) (b0afe51)
- rosetta: diagnostics not showing (#3182) (92a7d5e)
- rosetta: Rosetta is not submodule-aware (#3176) (5c7d148)
- rosetta: types from submodules not recognized properly (#3174) (b009d07)
1.44.2 (2021-11-18)
1.44.1 (2021-11-16)
1.44.0 (2021-11-15)
- dependency submodules may not be discovered (#3151) (5768bb9)
- deprecation warnings are generated even when one property is not deprecated (#3157) (e566f37)
- jsii: incorrectly allowed unexported type in constructor params (#3147) (7cd59fc)
- pacmak: remove disclaimer on compiling examples (#3148) (75e4093)
- pacmak: Support more than 255 properties for interfaces in Java (#3133) (ba4a20d), closes #3132 #3132
- rosetta:
didCompileevaluates to true when compilation not attempted (#3149) (7ad9e0a) - rosetta: cache source file parses (#3163) (307d3ca)
- rosetta: gets confused by type unions (#3156) (ca04dad)
- rosetta: snippet throughput incorrect (#3145) (91418d6)
1.43.0 (2021-11-08)
- pacmak: fail on untranslated snippets (#3127) (874e8e2), closes cdklabs/cdk-ops#1777
- rosetta: find fixtures based on submodules (#3131) (236dd88)
- pacmak: add 'silly' loglevel for command output (#3125) (bf769da)
- pacmak: API locations for inherited members are incorrect (#3130) (8d0a248), closes cdklabs/cdk-ops#1777
- pacmak: development version cannot pack java (#3121) (0d9cf51), closes #3107
- pacmak: re-introduce parallelism for Python and Go builds (#3124) (87ba35d), closes #3045
- rosetta:
infusecreates untranslated examples (#3126) (ab60275) - rosetta: crashes on outdated tablet files in a package (#3119) (80ff0dc)
- rosetta: remember live-translated snippets without fixtures (#3129) (0638345)
- rosetta: stop skipping example values (#3128) (ee0620a)
1.42.0 (2021-11-02)
- jsii: deprecation warnings erroneously warn for duplicate enum values (#3105) (c477422), closes #3103
- jsii: generated deprecation-warning code is platform dependent (#3096) (9aa6f02)
- jsii: unexpected deprecated warnings when a deprecated interface is extended (#3112) (bd7e07c), closes #3111
- pacmak: '*/' not escaped in JavaDocs (#3104) (7ab109a)
- rosetta: arrays aren't handled properly (#3098) (de4648b)
1.41.0 (2021-10-27)
- jsii: experimental --strip-deprecated with file (#3085) (e5ba807)
- rosetta: "rosetta infuse" feature (#3067) (0f2f2d0)
- rosetta: improve translation throughput (#3083) (919d895)
1.40.0 (2021-10-19)
- jsii: added warnings for usage of deprecated elements (#3051) (8c0dd3b)
- jsii: allow customizing tsconfig.json file name (#3076) (c611f26)
- rosetta: allow only property assignments in object literals (#3065) (c783ab7), closes #3061
- rosetta: breaks when given a lot of snippets (#3075) (eca552e)
- rosetta: class declaration uses wrong constructor name in C# (#3064) (13f75a1), closes #3056
- rosetta: disallow nullish coalescing operator in examples (#3060) (a35bbfa), closes #3053
- rosetta: fix usage of Builders in Java (#3058) (a0ce42d), closes #2984
- rosetta: newlines after return statements missing (#3063) (26c95f5), closes #3054
1.39.0 (2021-10-12)
- jsii: added a symbol identifier to every type in the assembly (#3030) (2120d34)
- jsii: case consistency between filesystems (#3015) (cc364f0), closes #3013 #3013
- java: log messages may not flush by app exit (#3028) (41631e7), closes #3009
- pacmak: build failure due to non-sequential package builds between consumer and dependency (#3045) (1589af8)
- python: unknown type when submodule is not loaded (#3049) (da55a1e), closes aws/aws-cdk#16625
- rosetta: constants are incorrectly turned into getters (#3050) (84e4ca3), closes #2984
- rosetta: correctly detect arguments typed as
any(#3043) (3d2ba15), closes #3029 - rosetta: fix translation of
!and===operators (#3052) (72b9b98), closes #2993 - rosetta: literal map type is rendered as __object in C sharp (#3047) (e2843be), closes #3044 #3026 #3027
- rosetta: structs starting with
Iare incorrectly interpreted as non-structs (#3040) (d564350) - rosetta: support
declarestatements (#3044) (4ccacd1) - rosetta: turn
asListintoList.of(#3048) (ee75bf1)
1.38.0 (2021-10-07)
- jsii-pacmak: modules not packed in topological order (3f6db2c)
1.37.0 (2021-10-06)
- pacmak: opt out of jsii assembly validation (#3032) (a3265d9)
- reflect: memoize expensive properties (#3031) (e169c38)
1.36.0 (2021-10-04)
1.35.0 (2021-09-28)
- the minimum supported version of
nodechanged from10.3.0to12.7.0. We recommend using16.xif possible.
-
jsii: improve checks around peerDependencies (#2997) (d1ff3e6), closes #2994
-
upgrade baseline node requirement to >=12.7.0 (#2946) (f2c6842)
1.34.0 (2021-08-25)
- superchain: the
jsii/superchainimage tags:latest,:nightly,:node10and:node14are no longer maintained. Users should migrate to the new debian-based tags starting with:1-buster-slim.
- @struct type system hint (#2965) (a4ed9a8)
- superchain: arm64 support (#2949) (ceb66a6), closes #2930
1.33.0 (2021-08-16)
- java: Disable covariants for java builder params (#2853) (e729f5d), closes #2839
- java: implemented interface is not registered (#2952) (99da7a6), closes #2951
1.32.0 (2021-07-22)
- jsii-rosetta transliterate: transliterate a jsii assembly (#2869) (d9028c8)
- rosetta: hoist declare statements to top-level of document (#2897) (7b2ec05)
- rosetta: transliterate loose mode (#2892) (43e6dfd)
- crash when assembly originator key file is missing (#2899) (e05ce62)
- dotnet: strong-name sign assemblies (#2894) (7b90f27)
- pacmak/go: missing go.sum entry (#2893) (6e6ad69)
- rosetta: extract does not respect strict metadata entry (#2863) (5d2392b), closes #2861
- rosetta: fails on "Debug Failure" (#2917) (f6078ef), closes cdklabs/jsii-docgen#369
- rosetta: hangs on 'markdown' command when a file is provided (#2871) (e538b36)
1.31.0 (2021-07-09)
- jsii-rosetta transliterate: transliterate a jsii assembly (#2869) (d9028c8)
- rosetta: transliterate loose mode (#2892) (43e6dfd)
- pacmak/go: missing go.sum entry (#2893) (6e6ad69)
- rosetta: extract does not respect strict metadata entry (#2863) (5d2392b), closes #2861
- rosetta: hangs on 'markdown' command when a file is provided (#2871) (e538b36)
1.30.0 (2021-05-27)
- docs: correct the "source version" in Python version mapping (47a40f1)
- update lineMap after altering source.text (#2837) (82f5d5f), closes #2680
- pacmak: fails when package path contains space (#2758) (0fbba6b), closes #2748
- python: classes do not correctly implement interfaces (#2809) (0769347), closes aws/aws-cdk#13474
- python: module import fails: NameError: name 'List' is not defined (#2851) (b7b9e5f)
1.29.0 (2021-04-21)
1.28.0 (2021-04-13)
- dotnet: unable to pass 2d-array of interfaces (#2763) (347cf69), closes aws/aws-cdk#12587
- deprecated symbol stripping does not strip out heritage clause with imported type (#2783) (e87d879)
1.27.1 (2021-04-12)
- go: retracted github.com/aws/jsii-runtime-go@v1.27.0 as it was unusable.
1.27.0 (2021-04-02)
- go: variadic type helpers to build slices (#2755) (16b6546)
- superchain: also build a superchain image with Node 14 (#2741) (6364d51)
- go: dates are mistreated as strings (#2730) (2ba2ec4), closes #2659
- go: missing setter for R/W interface properties (#2731) (74d0d99), closes #2665
- go: protected property accessors missing (#2738) (94c799a)
- go: unable to set an array of interfaces/enums (#2754) (0cd514e), closes #2686
- python: accept Sequence[T] for array parameters (#2606) (b09d578), closes aws/aws-cdk#13203
- python: module import fails with: KeyError: 'all' (#2757) (c32a889), closes #2750
- rosetta: 'extract' does not translate samples in submodule READMEs (#2744) (0a3f01f)
- superchain: use entrypoint to set up nvm (#2736) (0e247b6)
1.26.0 (2021-03-22)
- go,python/java: if multiple members have the same name with different capitalization, only one is allowed to be non-deprecated. This will currently only manifest when producing python bindings, but will be added as a jsii compiler error in the future.
- compliance: Compliance suite (#2607) (18b2c16)
- go: extension & overrides mechanism (#2717) (33f3b26)
- go: packageName and versionSuffix (#2687) (9562108), closes #2632
- superchain:
$NVM_USE_VERSIONselects Node.js version (#2726) (fb9abf9) - superchain: install both Node 10 and Node 14 (#2718) (3ca97d9)
- go: duplicate conversion functions when parent structs have the same base name (#2697) (52bd510), closes #2692
- go: invalid code when a module only has static methods [test only] (#2704) (2dbe84d), closes #2622 #2617
- go: missing imports needed by base members (#2685) (daca06f), closes #2647
- go: missing imports required by collection types (#2691) (c9a36a6), closes #2689
- go: nested types are not namespaced (#2650) (45b527c), closes #2649
- go: optional values (#2705) (7d0cfc5), closes #2442 #2671
- go,python/java: bad code for members with same name with different casing (#2699) (25528fb), closes #2508
- pacmak: .NET submodules don't have namespace docs (#2683) (097a4ea)
- pacmak: Java submodules don't have package infos (#2682) (e6ca054)
- pacmak: Python submodules don't have docstrings (#2681) (a950282)
- pacmak: xmldom error when generating packages (#2713) (6b2bbe8)
- TypeError when trying to use bin-scripts in Python (#2720) (acdf1a9)
- python: duplicated kwargs when field is multi-inherited (#2654) (3cd9d19), closes #2653
- rosetta: 'extract' does not translate samples in submodule READMEs (#2712) (ccac1bd)
1.25.0 (2021-03-16)
- compliance: Compliance suite (#2607) (18b2c16)
- go: packageName and versionSuffix (#2687) (9562108), closes #2632
- go: duplicate conversion functions when parent structs have the same base name (#2697) (52bd510), closes #2692
- go: invalid code when a module only has static methods [test only] (#2704) (2dbe84d), closes #2622 #2617
- go: missing imports needed by base members (#2685) (daca06f), closes #2647
- go: missing imports required by collection types (#2691) (c9a36a6), closes #2689
- go: nested types are not namespaced (#2650) (45b527c), closes #2649
1.24.0 (2021-03-03)
- go: enums inside structs are not properly serialized (#2636) (19cbd25)
- go: invalid generated code for classes a keyword name (#2641) (8668f13), closes #2637
- go: malformed multiline docstrings in constructors (#2639) (72f25af), closes #2638
1.23.0 (2021-03-01)
- go: emit indirect dependencies in go.mod (#2596) (0f95a0b)
- go: preserve casing of enum member names (#2598) (efdc165), closes aws/aws-cdk-rfcs#292
- go: represent jsii structs as go structs (only) (#2600) (e7cc93e), closes aws/aws-cdk-rfcs#292
- go: require go 1.16, use native embed (#2603) (67cd3ce)
- pacmak: emit LICENSE file with SPDX license text, NOTICE file (#2604) (6747f12)
- go: map values incorrectly handled though de/serialization (#2587) (0359928)
- go-runtime: enums are not encoded/decoded correctly (#2585) (4731aeb), closes #2534
- java: invalid code when multi-inheriting optional properties (#2591) (2399608), closes #22556
- java: JsiiRuntime.ErrorStreamSink does not respond to being interrupted (#2540) (6e74bf9), closes #2533
- jsii: excessive "exclude" in "tsconfig.json" (#1736) (ecffb9f)
- pacmak: go 1.16 requires running "go mod download" explicitly (#2616) (1f8f022), closes #2615
- pacmak: go local replace do not respect
--outdirin some cases (#2584) (b9b9b4c) - pacmak: multiple go (and python) issues (#2622) (c2bd156), closes #2618 #2619 #2620 #2621
1.22.0 (2021-02-18)
- go: map values incorrectly handled though de/serialization (#2587) (0359928)
- go-runtime: enums are not encoded/decoded correctly (#2585) (4731aeb), closes #2534
- jsii: excessive "exclude" in "tsconfig.json" (#1736) (ecffb9f)
- pacmak: go local replace do not respect
--outdirin some cases (#2584) (b9b9b4c)
1.21.0 (2021-02-15)
- pacmak: examples with multi-line strings produce invalid python docstrings (#2571) (d5c2e3a), closes #2569
- pacmak: TypeError when operating with Worker threads (#2550) (5822e48), closes isaacs/node-graceful-fs#204 isaacs/node-graceful-fs#205
- rosetta,pacmak: TypeError in node 10 with --experimental-worker (#2554) (4728e86), closes isaacs/node-graceful-fs#204
1.20.1 (2021-02-05)
1.20.0 (2021-02-03)
1.19.0 (2021-02-02)
- add runtime type info (fqn and version) to compiled sources (481e7a4), closes /github.com/aws/aws-cdk-rfcs/blob/master/text/0253-cdk-metadata-v2.md#appendix-1
- go: version file in the generated module directory (#2492) (da3ea25)
1.18.0 (2021-01-28)
- add support for bin-scripts (python only) (#1941) (61ef5ed)
- dotnet,java: kernel process inherits host's STDERR (#2248) (70ce153)
- submodules expose readmes and targets via
jsii-reflect(#2482) (33f41eb) - go: run "go build" on generated code (#2485) (d3602ec), closes #2463
- go: runtime release tagging (#2417) (9ffd204)
- jsii: experimental --strip-deprecated feature (#2437) (f958f5a)
- dotnet: Use nested classes for proxies to avoid name collision (#2368) (90b17e2), closes #2367
- go: generated code runtime dependency version (#2399) (f1a06e5)
- go: invalid output for multi-line @return and @deprecated comments (#2462) (590681a), closes #2457
- jsii: errors when invoking with a project root argument (#2351) (9c66340)
- jsii: submodules of dependencies show up in assembly (#2481) (2630a80)
- jsii: unknown error in Assembler._validateHeritageClauses (#2350) (3120bf4), closes #2349
- bad working directory in go runtime push (#2356) (53457e2)
- pacmak: illegal static overrides in java & c# (#2373) (4672e4b), closes #2358
- python: mypy validation errors (#2472) (2b2e9a8), closes #2464 #2476
- python: pin mypy to the exact version (#2476) (01a46d6), closes #2464
- rosetta: correctly emit multi-line string literals (#2419) (a30a996)
1.17.1 (2021-01-13)
1.17.0 (2021-01-13)
- add support for bin-scripts (python only) (#1941) (61ef5ed)
- dotnet,java: kernel process inherits host's STDERR (#2248) (70ce153)
- bad working directory in go runtime push (#2356) (53457e2)
- dotnet: Use nested classes for proxies to avoid name collision (#2368) (90b17e2), closes #2367
- go: generated code runtime dependency version (#2399) (f1a06e5)
- jsii: errors when invoking with a project root argument (#2351) (9c66340)
- jsii: unknown error in Assembler._validateHeritageClauses (#2350) (3120bf4), closes #2349
- pacmak: illegal static overrides in java & c# (#2373) (4672e4b), closes #2358
1.16.0 (2020-12-07)
- java: exception is logged when Java VM is shutting down (#2305) (8e1e7bd), closes #2303
- runtime: excessive latency introduced by sleep (#2298) (1a94b85), closes #2284
1.15.0 (2020-11-25)
- dotnet,java: finalize kernel process on VM shutdown (#2247) (29b2262), closes #2100
- go: generate go.mod files (#2265) (4164eb5), closes #2090
- go: Runtime arg type casting (8ba6aa9)
- go: Runtime interface type casting (bfce93d)
- jsii: configure diagnostics in package.json (#2233) (2bbef1f)
- rosetta: hoist imports above fixtures (#2211) (66e2ac8)
- rosetta: make assembly validation opt-in (#2252) (302dbb9)
- rosetta: support "strict" assemblies (#2253) (6cbde78)
- rosetta: support computed properties (#2230) (80b3aae)
- go: generate concrete structs for behavioral interfaces (#2257) (6da0870)
- go: Method call return reference an implMap (af5b27b)
- python: update
cattrsdependency specification (#2212) (4f2836b), closes aws/aws-cdk#11219 - runtime: "Error: EOF: end of file, read" on Windows (#2238) (1453ed3)
1.14.1 (2020-11-04)
- python: update
cattrsdependency specification (#2212) (d7731f9), closes aws/aws-cdk#11219
1.14.0 (2020-10-29)
- The
jsii/superchainDocker image no longer includesrubyandgcc. Users who need those should install them as part of their initialization script.
- dotnet: introduce
UnsafeCast<T>()method (#2192) (5e22e81), closes aws/aws-cdk#3284 aws/aws-cdk-rfcs#193 - go: dynamically load npm packages as needed (#2067) (7dbdbeb)
- go: embed jsii runtime application (#2066) (85764de)
- go: Runtime method and static invoke support (#2145) (ff882c1)
- go: runtime object creation (#2117) (977a063)
- pacmak: prerelease identifier support (#2146) (1338fc2), closes #2114
- pacmak/java: emit default interface implementations (#2076) (c618de3), closes #2014
-
dotnet: abundant nullability warnings in generated code (#2061) (01a2951)
-
go: fix generation of readonly and static properties (#2133) (57b7d56), closes #2093
-
jsii: annotation '@internal' causes missing type declarations downstream (#2172) (e80a4f7), closes #1947 #1830
-
jsii: TypeError: Cannot read property 'getJsDocTags' of undefined (#2163) (5d87101), closes #2098
-
jsii-diff: external structs returned from methods cannot be changed (#2070) (11e9389), closes #2064
-
pacmak/python: escape character escapes in python docs (#2138) (1578899), closes #2137
-
python: leftover jsii-kernel-* directories in TMPDIR (#2100) (c119994)
-
removes unused software from superchain to reduce image size (#2092) (fe2c597)
1.13.0 (2020-09-29)
- add go to superchain (#1994) (30f76c7)
- go: runtime library definition (#1996) (adbf44d)
- jsii: reflect stabilities in doc comment summaries (#1951) (ce8c0c4)
- pacmak: go module resolution & compiler fixes (#1956) (7e2512f)
- pacmak: retry select external command invocations (#2013) (66cf186)
- dontet: iso-8601 date strings get turned into DateTime (#2058) (52d7382), closes aws/aws-cdk#10513
- go: null returns and pointer getters/setters (807568d)
- go: Only embed behavioral interfaces (#1966) (e1f4e18)
- pacmak: go bad local package imports (#1973) (f9311b2)
1.12.0 (2020-08-27)
- golang: introduce Golang code generation (#1551) (2833db4), closes #83
- java: use covariant types for collection elements (#1884) (be2c7e2), closes #1517
- jsii: standardized error messages (#1931) (b146286)
- java: module "" not found error (#1906) (d0b9ffd), closes #1904
- jsii: class members named after the class result in illegal C# (#1903) (bc71154), closes #1931 #1880
- kernel: calling super.property unexpectedly returns
undefined(#1932) (3b48778) - python: generate type-checking code (#1881) (e6d1bc1), closes awslabs/cdk8s#194
1.11.0 (2020-08-18)
- jsii: detect changing visibility when overriding (#1876) (cfc99c2), closes aws/aws-cdk#9616
- jsii-pacmak: option to disallow parallel generation of languages (#1890) (9d5a439)
- python: allow setting additional trove classifiers (#1902) (26be2b6), closes aws/cdk-ops#393
- dotnet: "Could not infer JSII type for .NET type 'AnonymousObject'" (#1718) (41d79e7), closes aws/aws-cdk#7977
- dotnet: crash when TEMP contains certain unicode characters (#1913) (8f31b1a), closes aws/aws-cdk#7456
- jsii: README.md filename is case sensitive (#1871) (e375647), closes #1862
- jsii: unable to use nested types from dependencies (#1866) (44f9109), closes #1861
- pacmak:
EMFILEerror when runningjsii-pacmak(#1891) (7316b44) - rosetta: use of keyword 'lambda' produces invalid Python code (#1850) (39769b0)
1.10.0 (2020-08-05)
- java: user.xml repository ID was not sanitized (#1812) (4283af0)
- jsii: Location of initializers in source was not documented (#1806) (3957827)
- jsii: selective exports declarations are ignored (#1829) (2699ccf), closes #1818
- python: missing imports for certain keyword arguments (#1810) (f124bc8), closes #1809
- rosetta: OOpsie -- couldn't find root file back on Windows (#1842) (6ea8daa)
- rosetta: kwargs arguments are emitted at a variadic position (#1832) (079e147), closes #1821
1.9.0 (2020-07-16)
- jsii-reflect: TypeSystem.methods and .properties ignores submodules (#1779) (bdb5483)
- pacmak: python pack fails when installing 'black' via pip (#1782) (d83e004)
- pacmak: race condition in python packing when run over multiple packages (#1783) (7807027)
1.8.0 (2020-07-02)
- kernel: tarball unpacking does not behave like 'npm install' (#1766) (2dc1b21), closes aws/aws-cdk#8233 #1765
- python: relative import missing for kwargs types (#1768) (c174ac5)
1.7.0 (2020-06-18)
- jsii-pacmak: add maven and nuget support for * dependencies (#1696) (13667f6), closes aws/jsii#1678
- turn off assembly validation (#1751) (c6d5f8a)
- @jsii/runtime: "maximum call stack size exceeded" in SyncStdio.readLine (#1717) (6348226), closes aws/aws-cdk#8288 aws/aws-cdk#5187 aws/aws-cdk#8397
- jsii: build succeeds using Omit<T, K> (#1708) (a46fdb1), closes #1707
- python: no overload variant of "Factory" matches argument type "object" (#1716) (eee8ea5)
- python: reference isomorphism is broken within init (#1724) (b7be1c6), closes aws/aws-cdk#8262
1.6.0 (2020-06-02)
- java: add a Builder interface implemented by all builders (#1654) (52e73b5), closes #1652
- java: use covariant types for collection elements (#1653) (bc5e200), closes #1517
- jsii: use incremental builders (aaa7593)
- allow per-submodule naming configuration (#1690) (b2aa424), closes #1286
- pacmak/java: isolate maven repositories (#1709) (4904cd8)
- python: add explicit return type to setters (#1645) (0f3c6e2)
- dotnet: F# dictionaries cause NullReferenceException (#1655) (50c656c), closes #1322
- jsii: dependency submodules are not tagged (#1663) (18e3702)
- package runtimes as private for integ test (#1677) (7afe761)
- jsii-pacmak: computeIfAbsent throws ConcurrentModificationException (#1706) (fa60b7f)
- kernel: error raised during rename operation on win32 (#1702) (38ee336), closes #992
- pacmak: label "External" stability as "Stable" (#1633) (8569c00)
- python:
selfas property name leads to assignment error (#1330) (a877f34) - python: imports between subpackages are broken (#1528) (84e0f48)
1.5.0 (2020-05-07)
1.4.1 (2020-04-22)
1.4.0 (2020-04-22)
- python: improve metadata of jsii package (#1587) (7dd04fe)
- spec: model submodules in the Assembly schema (#1563) (de2689b), closes #1528 #1557
1.3.2 (2020-04-20)
1.3.1 (2020-04-18)
1.3.0 (2020-04-16)
- jsii-diff: detect interfaces inherited via interfaces (#1492) (e03a638)
- python: packages fail to load when relocated (#1518) (9db95e1), closes #1501
1.2.0 (2020-03-31)
- jsii: introduce submodules feature (#1297) (2df5d90), closes #1286
- add autobump script (#1335) (bdda569)
- diff: check super types (#1354) (b08f65f)
- dotnet: missing ? on nullable interface members (#1287) (9299db2), closes #1285
- dotnet-analyzers: unit test null reference (#1341) (6b88509)
- jsii: missing context on "Message" diagnostics (#1298) (c44f5f3)
- jsii: out-of-source builds are broken (#1344) (aecdc5e), closes #1273
- jsii: single-valued enums are not processed correctly (#1406) (39425a4), closes aws/aws-cdk#6712 aws/aws-cdk#6948
- kernel: "any" serialization breaks private type instances (#1347) (655adeb), closes aws/aws-cdk#6746
- python-runtime: KernelResponse missing types (#1332) (fcafab4)
1.1.0 (2020-03-10)
- dotnet: missing ? on nullable interface members (#1287) (9299db2), closes #1285
- jsii: missing context on "Message" diagnostics (#1298) (c44f5f3)
1.0.0 (2020-02-17)
- CDK Build Integration Test (#1219) (e99d722), closes #1209
- csharp: enable nullable reference types (#1246) (cbc7258)
- dotnet: upgrade target framework to netcoreapp3.1 (#1241) (c324439)
0.22.0 (2020-02-06)
- java: annotate nullability (#1234) (6f2ab03), closes aws/aws-cdk#6026
0.21.2 (2020-01-22)
- java: maven-surefire-plugin 2.22.2 (#1165) (2f1f7b9)
- depend on python-3.8-supporting version of cattrs (#1177) (e9b00c8), closes #913
- rosetta: properly escape C# comments as XML (#1184) (2bdc589)
- poor error message on scalar deserialization type mismatch (#1187) (fdf8927)
0.21.1 (2020-01-03)
0.21.0 (2020-01-02)
- dotnet: documentation strings sometimes invalid (#1127) (94da056)
- java,dotnet: abstract properties have concrete implementations (#1128) (c9351a3), closes #240 #1011
- jsii:
--watchcauses immediate failure (#1150) (6bdf7d7), closes #1149 - pacmak: generated dependencies are not consistent with source npm module (#1141) (03221fe), closes #676 #1137
- runtime: runtime crashes with EAGAIN trying to read from STDIN (#1143) (e3502ed), closes #1142 aws/aws-cdk#5187
- superchain: bad permissions on ~/.ssh/config (#1139) (eda462d), closes #1138
- jsii: switch to disable reserved words warnings (#1076) (5389def), closes #1073
- rosetta: translate examples to Java and C# (#985) (d591b85)
0.20.11 (2019-12-13)
0.20.10 (2019-12-13)
0.20.9 (2019-12-11)
- allow Missing Dotnet Version Suffix (#1047) (fc366d0), closes #1037
- dotnet/roslyn: analyzer target framework (#1071) (fea0f0a), closes aws/aws-cdk#5189
- generate non-overlapping artifacts (#1104) (2add627)
- java: missing remarks in builder documentation (#1111) (33e820c), closes #1094
- java: remove Jackson confusion with certain patterns (#1070) (9eacbe3), closes #987 aws/aws-cdk#4080
- python: correctly emit sligified positional args (#1081) (6f9167b), closes aws/aws-cdk#4302
- python: correctly handle structs out of callbacks (#1009) (812d8c2), closes #1003 #997 #997 #1003
- python: members named property results in invalid code (#1114) (92be5d7), closes #1113
0.20.8 (2019-11-24)
0.20.7 (2019-11-18)
- java: handle null-able collections correctly (#986) (e88e5e2), closes aws/aws-cdk#4316
- jsii: unable to depend on modules with private declarations (#995) (08c4294), closes #994
- kernel: cannot pass decorated structs to kernel as "any" (#997) (2bd3183), closes aws/aws-cdk#5066
- jsii-config: introducing jsii-config (#981) (2bbf576), closes #904
- rosetta: extract and compile samples into "tablets" (#925) (eec44e1)
0.20.6 (2019-11-14)
- python: dynamic proxies handling of setters (eec9640), closes aws/aws-cdk#5032
0.20.5 (2019-11-13)
- dotnet: allow down-casting to parent interface type (#983) (8a390e5), closes #982
- python: correctly handle interface declarations on returned objects (#980) (c2de100)
0.20.4 (2019-11-12)
0.20.3 (2019-11-11)
0.20.2 (2019-11-08)
- dotnet: fix callback issues (#953) (849c004)
- pacmak: .NET build downloading packages from NuGet (#949) (433d1f8)
- pacmak: occasional EISDIR failure (#948) (a388f24)
- runtime: make kernel 'load' operation synchronous (#951) (896d688)
0.20.1 (2019-11-06)
- dotnet/analyzer: remove dependency on Runtime (#927) (815b449)
- kernel: revert behavior change around
anyserialization (#932) (2f47543), closes #825 - pacmak: put package README into the right Python module (#928) (17dd60f)
0.20.0 (2019-10-30)
- java: correctly search for protected override implementations (#905) (e3f0f6c), closes #903
- java,dotnet: emit default implementations for optional properties (#906) (37ddfd5), closes #543
- kernel: correct deserialization of structs in union contexts (#919) (c0f338e), closes #822 aws/aws-cdk#3917 aws/aws-cdk#2013
- pacmak: fix a couple of issues related to java generation (#921) (5ad58c0)
- pacmak/python: improve detection of twine (#845) (2c4ef29)
- update Dockerfile to .NET SDK 3.1, improve NuGet metadata (#880) (5e076cf)
- java: offer Builders for certain Java classes (#895) (f9c1335), closes #488
- kernel: annotate implemented interfaces on "ObjRef"s (#825) (a4e2095)
- pacmak: build all java targets at once (#849) (5d7824d)
- pacmak: put translated README into module docstring (#900) (8bacfb1)
0.19.0 (2019-10-14)
- jsii: Correct the 'types' attribute in package.json (#876) (391a7ec)
- jsii-diff: add 'main' property to package.json (#877) (670d94a)
- sampiler: Add missing .npmignore (#875) (b16fc6b)
0.18.0 (2019-10-01)
- dotnet: use snupkg format for dotnet symbol packages (#830) (0d18b4d), closes NuGet/Home#6082
- python: clear error message when trying to serialize function (#824) (2eb6422), closes aws/aws-cdk#4064
- jsii: enable strictPropertyInitialization checks (#838) (11268c4), closes #4286
- configure
engineswithnode >= 10.3.0(#795) (6164b6b), closes #794 - configure AWS logo for NuGet packages (#797) (04305ce)
0.17.1 (2019-09-30)
- dotnet: use snupkg format for dotnet symbol packages (#830) (d2724f0), closes NuGet/Home#6082
0.17.0 (2019-09-18)
- dotnet: fix deep type conversion across the process boundary, intelisense docs, set target to netcoreapp2.1 (#772) (ecf8d3b)
- kernel: stack overflow in KernelHost.run() (#780) (41a8c2f), closes #778
- java: Indicate if method param is required (#762) (cb7e11f), closes #365
- java: use immutable java implementations of JSII primitive collection types array and map (#765) (5e713e3)
0.16.0 (2019-08-29)
- dotnet: Fix property set for nested Dictionaries (#736) (04bab47)
- jsii-diff: handle violations in Enums (#730) (934b5c8)
- kernel: correctly serialize enum values (#754) (41ed25d), closes #753
- dotnet: [JsiiOptional] attribute on properties that are optionals + Roslyn Analyzer (#717) (bece042)
- dotnet: drop the useless I prefix for non datatype interfaces (#728) (b9621f1), closes #109
- dotnet: Support for JSII_DEBUG and JSII_RUNTIME (#724) (1816740)
- jsii: improve locality of warnings emitted for reserved words (#739) (e762da6)
- superchain: bundle which in the Docker image (#751) (50c9152)
- superchain: ship with openssl CLI tools (#740) (9fb32ad)
- dotnet: names of .NET behavioral interfaces have changed (the duplicate prefix I was removed).
0.15.2 (2019-08-28)
- jsii: pin TypeScript compiler dependency to minor version (22c61c2)
0.15.1 (2019-08-18)
- dotnet: add missing GetInterfaceType in the .NET runtime (#703) (56617b1)
- superchain: fix python distribution due to old setuptools (#709) (b37790d), closes #708
- java: detect & rename members named after reserved words (#705) (32bc117)
- jsii: emit warnings when using reserved words (#704) (ca44537), closes #701
- python: check distribution artifacts with
twine(#711) (f3d1da0), closes #710
0.15.0 (2019-08-12)
- dotnet: stop mutating Dictionary when iterating on it (#691) (8aedfc9), closes #690
- java: improve property override detection (#692) (d90b304)
- dotnet: handling optional and variadic parameters (#680) (e8b5a35), closes #153 #210
- java: overhauled structs with native implementation, builders, ... (#694) (b0b3fd2), closes #525
- java: remove dependency on google Guava (#681) (e86bfdc)
- superchain: add
monotoolchain (#687) (3defca3)
0.14.3 (2019-08-01)
0.14.2 (2019-07-19)
0.14.1 (2019-07-17)
- build: fix python runtime BaseProvider signatures (#601) (6526469)
- kernel: validate presence of required struct properties (#591) (90135f9)
- jsii: configure outDir and rootDir for tsc (#593) (21855e2)
- jsii-diff: also check stability transitions (#592) (15f77b5)
- add support for "external" stability (#596) (dd66afb)
0.14.0 (2019-07-08)
0.13.4 (2019-07-03)
Note: Version bump only for package jsii
0.13.3 (2019-07-01)
- .net: occasional incorrect param type cast (#568) (c89d0fa), closes awslabs/aws-cdk#3093
- jsii: correctly inherit initializer stability (#569) (a4de2d8)
0.13.2 (2019-07-01)
- pacmak: support adding a suffix to Java package version (#552) (dfde37a)
- pacmak: support adding suffix to .NET package versions (#557) (99adf19)
0.12.1 (2019-06-25)
0.12.0 (2019-06-24)
- jsii: Validate overriding does not affect optionality (#549) (8c826c1)
- python: parameter names in docstrings should be snake_case, not camelCase (#539) (a91a315)
- jsii: enforce enum member names to be ALL_CAPS (#541) (c88080d), closes awslabs/aws-cdk#2287
- jsii-diff: extend reporting options (#547) (719be24)
- jsii: Enum members are now expected to be
ALL_CAPS
0.11.3 (2019-06-18)
- jsii: Correctly handle singleton enums (#535) (01aed03), closes #231
- jsii: Correctly ignore private properties from ctor (#531) (e804cab)
0.11.2 (2019-06-07)
- java: Escape
*/in package-info.java (#526) (4e7ea98) - kernel: Correct null handling in JSON types (#523) (7ffa98d)
0.11.1 (2019-06-07)
- jsii-diff: crash when changing method to a property (#521) (28241cd), closes #520
- jsii-pacmak: retry .NET build a couple of times (#509) (d1ef618)
- python: support variadic arguments (#513) (695ca6b)
- Register module-level stability (#515) (efae447), closes awslabs/cdk-ops#367
- jsii: Propagate stability to members (#522) (20507e6)
- jsii-spec: Add optional metadata field (#512) (10e2bfe)
0.11.0 (2019-05-21)
- assembler: handle unknown types without crashing (#501) (7ba1aab)
- jsii: deduplicate interfaces (#497) (05f5189), closes #496
- jsii-diff: catch exception if type disappeared from other assembly (#504) (8d11900)
- jsii-diff: correctly handle assignability of type unions (#500) (04c061e)
- jsii-diff: don't fail on new packages (#502) (d1d0633)
- jsii: The
equalsandhashCodemethod names may no longer be used on JSII classes and interfaces, due to their colliding with "special meaning" methods in other languages (Java, .NET, ...).
0.10.5 (2019-05-06)
0.10.4 (2019-05-05)
0.10.3 (2019-04-24)
- java: fix illegal arguments passed to JavaDoc generator (#475) (4456138)
- jsii-diff: be nicer about validation errors (#481) (fa4d000)
- python: fix indentation for multiline bullets in RST generator (#479) (3a79142), closes #478
- python: maintain inheritance chain for structs (#482) (607f151), closes #473
0.10.2 (2019-04-18)
0.10.1 (2019-04-17)
0.10.0 (2019-04-16)
- exit with non-zero exit code if there are compilation errors (#442) (6265bf6), closes #383 #441
- dotnet: fix doc comment model parsing in .NET generator (#455) (ae85aa5)
- java: Stop using Streams to render params (#459) (a5e8a93)
- jsii: check that static and nonstatic members don't share a name (#430) (a0741cc), closes #427
- jsii: flatten out dependency list (#454) (ebdd10d), closes #453
- jsii-reflect: don't load same assembly multiple times (#461) (3a6b21c)
- jsii-spec: show deep validation errors (#452) (4d84e0b)
- kernel: Set
thisin static contexts (#460) (c81b4c1), closes awslabs/aws-cdk#2304 - pacmak: fix Maven dependency collector. (#449) (675b86a), closes #447
- jsii-spec: JSII assemblies generated by older versions of the tool will fail loading with this new version, and vice-versa. Re-compile your projects in order to fix this.
0.9.0 (2019-04-04)
- jsii: check that referenced @params exist (#431) (265c304), closes #422
- jsii: Enforce use of peerDependencies (#421) (e72fea5), closes #361
- jsii: Erase un-exported base classes instead of prohibiting those (#425) (d006f5c), closes #417
- jsii: Erase un-exported base interfaces instead of prohibiting those (#426) (afbabff), closes #417
- jsii: record source locations in assembly (#429) (e601c0c)
- jsii: Tag the jsii compiler version in the .jsii assemblies (#420) (42dece1), closes #412
- jsii-diff: standardize doc comments, add API compatibility tool (#415) (9cfd867)
- kernel: Normalize empty structs to undefined (#416) (a8ee954), closes #411
- jsii: All direct dependencies must be duplicated in peerDependencies unless they are in bundledDependencies.
0.8.2 (2019-03-28)
- kernel: Transitively consider properties when deserializing structs (#409) (66789e8)
- python: Lift the entire data class hierarchy (#408) (f813620)
0.8.1 (2019-03-28)
- kernel: make type serialization explicit and recursive (#401) (0a83d52), closes awslabs/aws-cdk#1981
- runtime: Passing 'this' to a callback from constructor (#395) (850f42b)
0.8.0 (2019-03-20)
- jsii: prohibit exported const enums (#372) (5a94825), closes awslabs/aws-cdk#1969
- jsii: show jsii diagnostics in watch mode and support $tsc problem matcher (#383) (0275944), closes #382
- copy non-hidden bases when erasing hidden interfaces (#392) (5af84b6), closes #390
- Fix Async function support in Python (b5d49de)
- Fix permissions error in pipeline when generating Python runtime (af1346f)
- Proxy interface literals in the generated Python code (10242eb)
- Python's abstract class proxies now inherit from parent's proxy (6f1c9c0)
- Add Python Support (cc3ec87)
- internal accessibility (#390) (e232cb5), closes #287 #388
- pass data types (structs) by-value instead of by-ref (#376) (db3ccdf), closes awslabs/aws-cdk#965 #375
- all properties in interfaces which represent data types must be marked as
readonly. Otherwise, jsii compilation will fail. - member names that begin with underscore now must be marked as "@internal" in their jsdocs, which will cause them to disappear from type declaration files and jsii APIs.
0.7.15 (2019-02-27)
- jsii-pacmack: default to target directory mode (#363) (967d917)
- java-runtime: Bump version of Jackson because of CVEs (#362) (140aa4d)
- jsii: detect double interface member declarations (#360) (b2b2c89), closes #340
0.7.14 (2019-02-04)
- remove use of private API (#351) (874cbac), closes #350
- jsii-dotnet-runtime: Fix EPIPE on Windows. (1d7cc8b), closes #341
- jsii-dotnet-runtime: Redirect to STDERR. (e20f401)
- kernel: Improve tagged type of wire values (#346) (8ea39ac), closes #345
- jsii: support multiple class declaration sites (#348) (4ecf28c)
- Generate NuGet symbol and source packages (#243) (aafd405)
0.7.13 (2019-01-03)
0.7.12 (2018-12-11)
- JSII_AGENT (#325) (cf1d0c3), closes #324
- jsii-reflect: library for exploring jsii type systems (#328) (69cdb32)
0.7.11 (2018-11-18)
- jsii-dotnet-runtime: Build projects, not solutions. (dc3be5e)
- jsii-dotnet-runtime: Proxy parameters should not throw exception. (#317) (acc8f22), closes #316
- jsii-dotnet-runtime-test: Floating calculator package version (40881f0)
0.7.10 (2018-11-12)
0.7.9 (2018-11-12)
- docs: improve docs rendering (#303) (094a215), closes #301 #298 #302 #300 #299
- dotnet/runtime: Incorrect callback response format (#286) (1b851e1), closes #285
- jsii: do not mark "any" or "unknown" as optional (unless "?") (#295) (cdf5a53), closes #284
- jsii-runtime: treat "null" as "undefined" (#297) (43fb16a), closes awslabs/aws-cdk#157 #282
- runtime/dotnet: Correct a number of type mappings (#291) (0d59dab), closes #290 awslabs/aws-cdk#1027
- accept variadic arguments after optional arguments (#307) (c1af1d6)
- remove overly strict checks on peer versions (#306) (7b89d01)
- jsii: enforce peer dependencies (#294) (1753910), closes awslabs/aws-cdk#979
0.7.8 (2018-10-23)
- jsii: use base interfaces for 'datatype' property (#265) (1c56902), closes #264
- jsii: use default jsx compiler options (#261) (bf1f586), closes awslabs/aws-cdk#830
- match behavioral interface to 'I'-prefix (#271) (03103f3)
- require distinct argument and property names (#272) (4d2f268), closes #268
0.7.7 (2018-10-10)
- dotnet: abstract classes should have proxy implementations (#241) (828a26f), closes #223
- jsii: better usage reporting of private types (#247) (96ac5d6)
- jsii: support public autoproperties in private constructor (#256) (181012e)
- jsii: use default jsx compiler options (#260) (660ae79), closes awslabs/aws-cdk#830
- jsii-dotnet-generator: Use FQ type returns in conflict. (#258) (a78784a), closes #252
- jsii-runtime: Use buffer factory methods instead of constructor. (#246) (6ad6b9d)
- kernel: Return object literals as references (#249) (61cb3a4), closes #248 awslabs/aws-cdk#774
0.7.6 (2018-09-20)
- Sphinx generated incorrect type references for display (#232) (b664805)
- jsii: Defaulted parameters were not rendered as optional (#234) (578bf9c), closes #233
- jsii: Don't skip emit on TS errors when in "watch" mode (#236) (30d1491), closes #235
- jsii: Optional
anyrepresented as required (#237) (91074f3), closes #230
- sphinx: allow readme file to define sphinx header and reorganize topic (#229) (405da9c), closes #228 #185
- Document overriden/inherited members (#238) (7a6278a), closes #196
0.7.5 (2018-09-13)
- dotnet: unable to instantiate objects when return type is abstract (#223)
- java: support abstract return types (#224) (3257223), closes #220 #223 awslabs/aws-cdk#680
0.7.4 (2018-09-10)
- jsii: Force generated assemblies to reference jsii-only dependencies (cf62773)
0.7.3 (2018-09-06)
- jsii: add readme and restore missing files in jsii tarball (09f9fc9)
0.7.2 (2018-09-06)
0.7.1 (2018-08-28)
- jsii-pacmak: Output .NET build artifacts to
dist/dotnet/instead of justdist/(#192) (f25c8c4) - jsii-kernel: Fix module loading on systems that use '' instead of '/' as the path separator (#193) (9e42991)
0.7.0 (2018-08-21)
0.6.4 (2018-08-08)
- jsii-pacmak refers to private dependencies (e61efc0)
0.6.3 (2018-08-08)
- Denote the optional aspect of types when describing them (#159)
0.6.2 (2018-08-07)
0.6.0 (2018-08-06)
- First public release
- Support variadics in methods.
- Support for static methods, properties and constants
- Emit strongly-typed
setXxx/withXxxoverloads for union properties - Embed
jsii-runtime.jsas a webpack'd resource into the the java runtime client