Skip to content

Latest commit

 

History

History
2480 lines (1248 loc) · 177 KB

CHANGELOG.md

File metadata and controls

2480 lines (1248 loc) · 177 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.92.0 (2023-11-16)

⚠ BREAKING CHANGES

  • jsii-pacmak and the libraries it generates for Python targets now require a minimum Python version of 3.8, instead of 3.7 previously. We recommend users upgrade to the latest supported Python release (Python 3.11).
  • all libraries and tools now require a minimum version of Node.js 18, instead of 16 previously. We recommend users upgrade to the latest supported Node.js release (Node.js 20).

Features

  • jsii-reflect: TypeSystem can be locked to improve reflection performance (#4318) (c87da43)
  • make node 18 the default (#4325) (8784725)
  • superchain: publish a bullseye image with node18 & python 3.9 (#4326) (7197b4f)
  • switch to python 3.8 (#4327) (416e2b5)

Bug Fixes

  • kernel: invokeBinScript fails when using symlinked cache (#4324) (a2ab316)
  • pacmak: *.tsbuildinfo not in auto-generated .npmignore file (#4236) (d55b8d5), closes #3978
  • superchain: installed setuptools is an unsupported version (#4333) (c0a4140)

1.91.0 (2023-10-24)

1.90.0 (2023-10-06)

1.89.0 (2023-09-20)

1.88.0 (2023-08-24)

1.87.0 (2023-08-11)

Bug Fixes

  • kernel: fast module loading fails on Windows (EPERM) (#4212) (fac6cbb), closes #4208
  • kernel: package cache fails under parallelism (#4215) (b739ef6), closes #4181 #4207
  • pip, black, setuptools, twine, wheel, and aws-sam-cli incorrectly installed in superchain (#4201) (851415c)
  • python: type object 'InterfaceDynamicProxy' has no attribute 'jsii_type' (#4209) (057b267)
  • superchain: add openssh-client back (#4224) (8390ca1)

1.86.1 (2023-08-02)

Bug Fixes

1.86.0 (2023-08-01)

Features

  • faster, lazy-friendly runtime loading (#4181) (ef6e5b1)
  • jsii-pacmak: allow disabling go build conditionally (#4196) (7fc7987)
  • python: deprecation message when using Python <= 3.7 (#4186) (0ef7ace)

Bug Fixes

  • jsii-pacmak: comment lines should not contain comment ending (#4193) (906c24d)
  • jsii-pacmak: handles 'default' doc component for go (#4115) (9085514)
  • type annotation for callable metaclass (#4179) (4ccbb57)

1.85.0 (2023-07-17)

Bug Fixes

  • export transliterateAssembly and fix bug with transliterate cli (backport) (#4166) (6b7eb02)
  • go-runtime: use fatih/color instead of ANSI Escape Code (#4109) (28b192a)

1.84.0 (2023-06-13)

Features

  • jsii: allow specifying a deprecation message regardless of stability (#4145) (38d327c)

1.83.0 (2023-06-07)

1.82.0 (2023-05-22)

Features

Bug Fixes

  • jsii-pacmak: disable doclint (#4103) (30afa09)
  • jsii-pacmak: emit correct [@return](https://github.com/return) tag for JavaDocs (#4095) (fc7ab7c)
  • jsii-pacmak: escape documentation in all positions (#4096) (6a2248d)
  • pacmak: _ is not treated as a keyword in Java (#4094) (eaaf3ee)

1.81.0 (2023-05-10)

Features

  • jsii-diff: allow external stability to be treated as error (#4076) (95689ea)
  • jsii-pacmak: parsing arguments in non-strict mode (#4068) (3d49d6f), closes #3465

Bug Fixes

1.80.0 (2023-04-04)

Features

Bug Fixes

  • enable dereference when copying module to tmp dir (#4030) (e00102b)
  • jsii: incorrect symbol-id generated with typesVersions (#4037) (1f06ac9)

1.79.0 (2023-03-23)

Features

1.78.1 (2023-03-16)

Bug Fixes

  • pacmak: runtime dependency should match pacmak release (#4013) (37c29f7)

1.78.0 (2023-03-15)

Features

  • jsii-reflect now renders union candidates sorted (#4005) (1fd6cde)

Bug Fixes

1.77.0 (2023-03-06)

Bug Fixes

  • dotnet: target netcoreapp3.1 with RollForward (#3987) (461446b)
  • rosetta: go may incorrectly emit _ instead of . (#3985) (52163f8)
  • rosetta: prints colors to log file (#3953) (0fc9229)

1.76.0 (2023-02-24)

⚠ BREAKING CHANGES

  • dotnet: The runtime library for .NET & generated .NET bindings will no longer support netcoreapp3.1 after this release. Users are advised to upgrade their apps to use net6.0 or net7.0 instead.

Features

Bug Fixes

1.75.0 (2023-02-14)

Features

Bug Fixes

  • go: shorten file names for sub-packages (#3927) (7697571)
  • rosetta: submodule-qualified names produce invalid Go, Java (#3928) (1ff230d), closes #3551

1.74.0 (2023-01-28)

Bug Fixes

1.73.0 (2023-01-04)

1.72.0 (2022-12-05)

Features

Bug Fixes

  • dotnet: broken error name deserialization (#3855) (be008d4)
  • python: dereference values returned from Kernel.ainvoke (#3847) (5643c50)
  • python: parameter names shadow imported modules (#3848) (8bac012)
  • revert "chore(deps): Bump aws-actions/stale-issue-cleanup from 5 to 6" (#3850) (6700f1a), closes aws/jsii#3844

1.71.0 (2022-11-09)

Features

Bug Fixes

  • jsii-diff: does not check types in submodules (#3808) (12ea38e)
  • python: type-checking may require incorrect type (#3820) (e9d4084), closes #3818

1.70.0 (2022-10-19)

Features

  • add error awareness to go deserialization (#3793) (9b6a307)
  • python: add error differentiation to Python. (#3772) (e3f7d5e)
  • superchain: add 'acl' package to support projen GHA (#3783) (306b248)

Bug Fixes

  • jsii-reflect: TypeMember is not SourceLocatable (#3778) (db809e2), closes #3777
  • python: KeyError in type checks when decorating methods (#3791) (dae724c)

1.69.0 (2022-09-27)

Features

Bug Fixes

1.68.0 (2022-09-22)

Features

  • kernel: distinguish framework errors from userland errors in Java (#3747) (a4d39c6)

Bug Fixes

1.67.0 (2022-09-02)

Features

Bug Fixes

  • java: type generation code-gen issues (#3735) (cf04f79)
  • pacmak: crash when generating java code (1fd58db)

1.66.0 (2022-08-29)

Features

  • go: emit deprecation warning when using go1.16 and go1.17 (#3718) (3cf5c28)
  • go: runtime type check type unions (#3712) (c73c2ee)

Bug Fixes

  • .net: missing dynamic type checking for collection-nested unions (#3720) (362326e)
  • rosetta: rosetta reader expects default tablet file to be uncompressed (#3723) (9768e2a)
  • type unions in variadic position leads to invalid code-gen (#3722) (93aec85)

1.65.1 (2022-08-29)

Bug Fixes

  • python: reference to type does not use alias (#3728)

1.65.0 (2022-08-18)

Features

  • pacmak: allow opt-out of runtime type checking generation (#3710) (39923a5)

Bug Fixes

  • dotnet: AnonymousObject fails runtime type checks (#3709) (e7fadc0)

1.64.0 (2022-08-11)

Features

  • .net: dynamic type checking for union-typed parameters (#3668) (f5e0603), closes #3640
  • .net: embed package icon when configured (#3676) (c65b1d9)

Bug Fixes

  • python: classproperty not working with type checkers (#3694) (5413720), closes #3633
  • python: unable to override methods with keyword arguments (#3695) (bcffb4b), closes #3656

1.63.2 (2022-07-29)

Bug Fixes

  • pyhon: under-qualified types used by dynamic type checking (#3688) (833a717)

1.63.1 (2022-07-26)

Features

  • python: formally allow dicts to be passed in lieu of structs (#3683)

1.63.0 (2022-07-26)

Features

Bug Fixes

  • go: unused imports emitted for type unions (#3664) (68a80d9), closes #3399
  • rosetta: infuse incorrectly handles compressed assemblies (#3669) (a5bd219)
  • rosetta: tablet compression handled incorrectly in multiple places (#3670) (30eded9), closes #3652

1.62.0 (2022-07-12)

Features

Bug Fixes

  • benchmark: compilation fails due to missing dependencies (#3610) (28db6e3)
  • jitter Docker build startup (#3646) (5857ea8)
  • jsii: fail compilation when two or more enum members have same val (#3412) (f64dace), closes #2782
  • Status icon for Go language that it is generally available. (#3607) (1762310)

1.61.0 (2022-06-16)

Features

  • add support for using custom .m2 directory (#3573) (0003c8a)

Bug Fixes

  • @jsii/check-node crashes on loading with older node releases (#3588) (a1582bf)
  • instantiate perf observer for each iteration (#3585) (3827d93)
  • italics in Markdown notation (#3594) (f754baa)

1.60.1 (2022-06-09)

Bug Fixes

  • @aws-cdk/check-node fails to load on older (EOL) releases of node (#3588) (a1582bf)

1.60.0 (2022-06-08)

⚠ BREAKING CHANGES

  • Beginning with this release, jsii packages no longer support node 12. Users should migrate to a supported node release (14.x, 16.x, or 18.x).

Features

Bug Fixes

  • @jsii/spec: speed up assembly validation by 20x for large libraries (#3565) (c40f26c)

  • java: rendering of [@see](https://github.com/see) hyperlink leads to errors (#3554) (9fd3c71)

  • jsii: assert not allowed as interface member (#3553) (f3fec0c)

  • drop support for Node 12 (#3547) (06a7889)

1.59.0 (2022-05-16)

Features

  • jsii: enable source maps for declaration files (#3521) (2751ca8)

Bug Fixes

  • jsii: deprecation warnings use this.constructor before calling super (#3528) (5d5f435), closes #3527
  • python: cannot import nested submodules (#3540) (8ef8ef2), closes #3408

1.58.0 (2022-05-06)

⚠ BREAKING CHANGES

  • jsii-pacmak and the libraries it generates for Python targets now require a minimum Python version of 3.7, instead of 3.6 previously. We recommend users upgrade to the latest supported Python release (Python 3.10).

Features

Bug Fixes

1.57.0 (2022-04-19)

Bug Fixes

1.56.0 (2022-04-08)

Features

  • drop internal functions from Deprecation Error stack trace (#3426) (5b4b852)
  • expose unknownSnippets config (#3475) (e9d99a0)
  • specify output directory for assemblies (#3437) (5419876)
  • Standardize issue template for discussions (b191f60)

Bug Fixes

1.55.1 (2022-03-16)

1.55.0 (2022-03-10)

Features

Bug Fixes

  • go: lots of documentation is missing from generated code (#3409) (69d28bb)

1.54.0 (2022-02-15)

Bug Fixes

  • jsii: dependencies' README files are unnecessarily re-rendered (#3380) (ec4edc5)

1.53.0 (2022-02-09)

Features

Bug Fixes

  • 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)

Bug Fixes

  • jsii: breaks due to faulty version of colors (#3328) (5bd5e04)

1.52.0 (2022-01-07)

Bug Fixes

  • rosetta: transliterate tries to recompile samples from tablets (#3324) (7aa69a7), closes #3262

1.51.0 (2022-01-06)

Features

Bug Fixes

1.50.0 (2021-12-24)

Bug Fixes

  • 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)

Bug Fixes

  • 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 extract fails if run after rosetta 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)

Features

  • reflect: add allTypes accessor (#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 --infuse option for extract (#3210) (ccb3c57)

Bug Fixes

  • 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: extract ignores --compile option (#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 --compile flag by default (#3218) (9df7950)

1.47.0 (2021-12-06)

Features

  • reflect: add allTypes accessor (#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 --infuse option for extract (#3210) (ccb3c57)

Bug Fixes

  • 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: extract ignores --compile option (#3193) (639c510)
  • rosetta: enum resolution breaks for properties (#3190) (3b49066)
  • rosetta: use --compile flag by default (#3218) (9df7950)

1.46.0 (2021-11-21)

Bug Fixes

  • rosetta: extract ignores --compile option (#3193) (639c510)
  • rosetta: enum resolution breaks for properties (#3190) (3b49066)

1.45.0 (2021-11-18)

Bug Fixes

  • 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)

Bug Fixes

  • jsii: require statement for the warning file is generated when it's not used (#3184) (8f53f89)

1.44.1 (2021-11-16)

  • revert "fix: dependency submodules may not be discovered" (#3170) (0449dd9)

1.44.0 (2021-11-15)

Features

Bug Fixes

  • 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: didCompile evaluates 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)

Features

Bug Fixes

1.42.0 (2021-11-02)

Features

  • rosetta: reuse translation results from a cache (#3101) (b08a50e)

Bug Fixes

  • 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)

Features

Bug Fixes

  • deprecation-warnings includes TS-only import (#3094) (edfdc48)

1.40.0 (2021-10-19)

Features

  • jsii: added warnings for usage of deprecated elements (#3051) (8c0dd3b)
  • jsii: allow customizing tsconfig.json file name (#3076) (c611f26)

Bug Fixes

  • 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)

Features

Bug Fixes

1.38.0 (2021-10-07)

Bug Fixes

  • jsii-pacmak: modules not packed in topological order (3f6db2c)

1.37.0 (2021-10-06)

Features

1.36.0 (2021-10-04)

1.35.0 (2021-09-28)

⚠ BREAKING CHANGES

  • the minimum supported version of node changed from 10.3.0 to 12.7.0. We recommend using 16.x if possible.

Features

  • rosetta: propagate max heap size to worker threads (#3002) (9c7f63e)

Bug Fixes

1.34.0 (2021-08-25)

⚠ BREAKING CHANGES

  • superchain: the jsii/superchain image tags :latest, :nightly, :node10 and :node14 are no longer maintained. Users should migrate to the new debian-based tags starting with :1-buster-slim.

Features

Bug Fixes

1.33.0 (2021-08-16)

Features

Bug Fixes

1.32.0 (2021-07-22)

Features

  • 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)

Bug Fixes

1.31.0 (2021-07-09)

Features

  • jsii-rosetta transliterate: transliterate a jsii assembly (#2869) (d9028c8)
  • rosetta: transliterate loose mode (#2892) (43e6dfd)

Bug Fixes

  • 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)

Features

  • rosetta: JSII_ROSETTA_MAX_WORKER_COUNT limits max workers (#2816) (c478da4)

Bug Fixes

1.29.0 (2021-04-21)

Features

Bug Fixes

1.28.0 (2021-04-13)

Features

Bug Fixes

1.27.1 (2021-04-12)

Bug Fixes

  • go: retracted github.com/aws/jsii-runtime-go@v1.27.0 as it was unusable.

1.27.0 (2021-04-02)

Features

  • go: variadic type helpers to build slices (#2755) (16b6546)
  • superchain: also build a superchain image with Node 14 (#2741) (6364d51)

Bug Fixes

1.26.0 (2021-03-22)

⚠ BREAKING CHANGES

  • 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.

Features

Bug Fixes

  • 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)

Features

Bug Fixes

1.24.0 (2021-03-03)

Features

  • go: support direct implementation of jsii interfaces (#2614) (9da3282), closes #2048

Bug Fixes

  • 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)

Features

Bug Fixes

  • 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 --outdir in some cases (#2584) (b9b9b4c)
  • pacmak: multiple go (and python) issues (#2622) (c2bd156), closes #2618 #2619 #2620 #2621

1.22.0 (2021-02-18)

Bug Fixes

  • 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 --outdir in some cases (#2584) (b9b9b4c)

1.21.0 (2021-02-15)

Bug Fixes

1.20.1 (2021-02-05)

Bug Fixes

  • python: ValueError: write to closed file (#2541) (64c6853)

1.20.0 (2021-02-03)

Features

  • runtime: use a dedicated file descriptor for sync IPC (#2411) (0413081)

Bug Fixes

1.19.0 (2021-02-02)

Features

Bug Fixes

  • go: major version suffix is missing in module names for >=v2 (#2507) (32c0add), closes #2509

1.18.0 (2021-01-28)

Features

Bug Fixes

1.17.1 (2021-01-13)

Bug Fixes

  • python: process.terminate() got an unexpected keyword argument 'timeout' (#2421), closes #2398

1.17.0 (2021-01-13)

Features

  • add support for bin-scripts (python only) (#1941) (61ef5ed)
  • dotnet,java: kernel process inherits host's STDERR (#2248) (70ce153)

Bug Fixes

  • 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)

Bug Fixes

1.15.0 (2020-11-25)

Features

Bug Fixes

1.14.1 (2020-11-04)

Bug Fixes

1.14.0 (2020-10-29)

⚠ BREAKING CHANGES

  • The jsii/superchain Docker image no longer includes ruby and gcc. Users who need those should install them as part of their initialization script.

Features

Bug Fixes

  • dotnet: abundant nullability warnings in generated code (#2061) (01a2951)

  • go: fix generation of readonly and static properties (#2133) (57b7d56), closes #2093

  • go: runtime api json invalid tags (#2115) (a9d96db)

  • go: Submodule File Paths (#2147) (8863493)

  • 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)

  • rosetta: duplicated problem markers (#2130) (21c6fb5)

  • removes unused software from superchain to reduce image size (#2092) (fe2c597)

1.13.0 (2020-09-29)

Features

Bug Fixes

1.12.0 (2020-08-27)

Features

Bug Fixes

1.11.0 (2020-08-18)

Features

Bug Fixes

1.10.0 (2020-08-05)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

1.7.0 (2020-06-18)

Features

Bug Fixes

1.6.0 (2020-06-02)

Features

Bug Fixes

  • 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: self as property name leads to assignment error (#1330) (a877f34)
  • python: imports between subpackages are broken (#1528) (84e0f48)

1.5.0 (2020-05-07)

Bug Fixes

  • jsii: unable to use type from dependencies' submodules (#1557) (ba7fac2)

1.4.1 (2020-04-22)

Bug Fixes

  • java: compilation fails with "code too large" (#1605) (b9ec853)

1.4.0 (2020-04-22)

Features

1.3.2 (2020-04-20)

Bug Fixes

1.3.1 (2020-04-18)

Bug Fixes

  • jsii-pacmak: invalid dotnet version suffixes (#1568) (9ef8f17)

1.3.0 (2020-04-16)

Features

  • compliance: produce compliance test reports (#1368) (11ef55d)

Bug Fixes

  • 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)

Features

Bug Fixes

1.1.0 (2020-03-10)

Bug Fixes

  • dotnet: missing ? on nullable interface members (#1287) (9299db2), closes #1285
  • jsii: missing context on "Message" diagnostics (#1298) (c44f5f3)

1.0.0 (2020-02-17)

Features

0.22.0 (2020-02-06)

Bug Fixes

  • java: invalid collections returned with non-class elements (#1197) (bbc2302), closes #1196

Features

0.21.2 (2020-01-22)

Bug Fixes

  • 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)

Features

0.21.1 (2020-01-03)

Bug Fixes

  • rosetta: crashes on behavioral interfaces (#1169) (5f3e9e0)

0.21.0 (2020-01-02)

Bug Fixes

Features

  • 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)

Bug Fixes

  • rosetta: "Rosetta configured for live conversion to undefined" (#1120) (10e9d38)

0.20.10 (2019-12-13)

Bug Fixes

  • reflect: failure to load assembly from "npm pack" (#1117) (a2b11f1)

0.20.9 (2019-12-11)

Bug Fixes

Features

0.20.8 (2019-11-24)

Bug Fixes

0.20.7 (2019-11-18)

Bug Fixes

Features

  • jsii-config: introducing jsii-config (#981) (2bbf576), closes #904
  • rosetta: extract and compile samples into "tablets" (#925) (eec44e1)

0.20.6 (2019-11-14)

Bug Fixes

0.20.5 (2019-11-13)

Bug Fixes

  • dotnet: allow down-casting to parent interface type (#983) (8a390e5), closes #982
  • python: correctly handle interface declarations on returned objects (#980) (c2de100)

Features

  • python: add license & classifiers to generated packages (#712) (84fd8bb), closes #707

0.20.4 (2019-11-12)

Bug Fixes

  • python: correctly handle nested structs-as-dict (#973) (9fd2499)

0.20.3 (2019-11-11)

Bug Fixes

  • kernel: correctly de-serialize mappings as JSON (#968) (5d056f4)

0.20.2 (2019-11-08)

Bug Fixes

  • 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)

Bug Fixes

  • dotnet/analyzer: remove dependency on Runtime (#927) (815b449)
  • kernel: revert behavior change around any serialization (#932) (2f47543), closes #825
  • pacmak: put package README into the right Python module (#928) (17dd60f)

Features

  • jsii-diff: make assembly validation optional (#926) (e2c80f0)

0.20.0 (2019-10-30)

Bug Fixes

Features

  • 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)

Bug Fixes

  • 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)

Features

  • sampiler: translate code samples to Python (#827) (c9a7002)

0.18.0 (2019-10-01)

Bug Fixes

Features

0.17.1 (2019-09-30)

Bug Fixes

0.17.0 (2019-09-18)

Bug Fixes

  • 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

Features

  • 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)

Bug Fixes

  • 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

Features

  • 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)

BREAKING CHANGES

  • dotnet: names of .NET behavioral interfaces have changed (the duplicate prefix I was removed).

0.15.2 (2019-08-28)

Bug Fixes

  • jsii: pin TypeScript compiler dependency to minor version (22c61c2)

0.15.1 (2019-08-18)

Bug Fixes

  • dotnet: add missing GetInterfaceType in the .NET runtime (#703) (56617b1)
  • superchain: fix python distribution due to old setuptools (#709) (b37790d), closes #708

Features

  • 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)

Bug Fixes

  • dotnet: stop mutating Dictionary when iterating on it (#691) (8aedfc9), closes #690
  • java: improve property override detection (#692) (d90b304)

Features

  • 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 mono toolchain (#687) (3defca3)

0.14.3 (2019-08-01)

Bug Fixes

Features

0.14.2 (2019-07-19)

Bug Fixes

0.14.1 (2019-07-17)

Bug Fixes

  • build: fix python runtime BaseProvider signatures (#601) (6526469)
  • kernel: validate presence of required struct properties (#591) (90135f9)

Features

  • 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)

Features

0.13.4 (2019-07-03)

Note: Version bump only for package jsii

0.13.3 (2019-07-01)

Bug Fixes

0.13.2 (2019-07-01)

Bug Fixes

Features

  • 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)

Bug Fixes

  • kernel: properly deserialize structs passed in byref (#554) (1e89aab), closes #553

0.12.0 (2019-06-24)

Bug Fixes

  • jsii: Validate overriding does not affect optionality (#549) (8c826c1)
  • python: parameter names in docstrings should be snake_case, not camelCase (#539) (a91a315)

Features

BREAKING CHANGES

  • jsii: Enum members are now expected to be ALL_CAPS

0.11.3 (2019-06-18)

Features

  • jsii-reflect: Expose Assembly metadata field (#542) (9b35e98)

Bug Fixes

  • jsii: Correctly handle singleton enums (#535) (01aed03), closes #231
  • jsii: Correctly ignore private properties from ctor (#531) (e804cab)

0.11.2 (2019-06-07)

Bug Fixes

  • java: Escape */ in package-info.java (#526) (4e7ea98)
  • kernel: Correct null handling in JSON types (#523) (7ffa98d)

0.11.1 (2019-06-07)

Bug Fixes

  • 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)

Features

0.11.0 (2019-05-21)

Bug Fixes

  • 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)

Features

  • jsii: protect against prohibited member names (#506) (2848f76)

BREAKING CHANGES

  • jsii: The equals and hashCode method 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)

Bug Fixes

0.10.4 (2019-05-05)

Bug Fixes

  • jsii: consider interfaces from erased base classes (#491) (b03511b), closes #487

0.10.3 (2019-04-24)

Bug Fixes

  • 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

Features

0.10.2 (2019-04-18)

Bug Fixes

  • dotnet: Correctly handle 'void' callback results (#471) (81e41bd)

0.10.1 (2019-04-17)

Bug Fixes

  • dotnet: Correctly generate "optional" markers (#466) (17403dc)

0.10.0 (2019-04-16)

Bug Fixes

Features

BREAKING CHANGES

  • 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)

Bug Fixes

  • jsii: Prohibit illegal uses of structs (aka data types) (#418) (8ff9137), closes #287

Features

  • 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

BREAKING CHANGES

  • jsii: All direct dependencies must be duplicated in peerDependencies unless they are in bundledDependencies.

0.8.2 (2019-03-28)

Bug Fixes

  • kernel: Transitively consider properties when deserializing structs (#409) (66789e8)
  • python: Lift the entire data class hierarchy (#408) (f813620)

Features

  • python: Add support for synchronous callbacks (#407) (4cb91b3)

0.8.1 (2019-03-28)

Bug Fixes

0.8.0 (2019-03-20)

Bug Fixes

  • 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)

Features

BREAKING CHANGES

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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

Features

  • jsii: support multiple class declaration sites (#348) (4ecf28c)
  • Generate NuGet symbol and source packages (#243) (aafd405)

0.7.13 (2019-01-03)

Features

  • add option to generate TypeScript project references (#343) (5eec5dc)

0.7.12 (2018-12-11)

Bug Fixes

  • kernel: Correctly return instances of un-exported types (#321) (9c59acc)

Features

0.7.11 (2018-11-18)

Bug Fixes

  • 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)

Features

  • jsii-dotnet-runtime: Improve .NET Performance (20321af), closes #304

0.7.10 (2018-11-12)

Bug Fixes

  • jsii: jsii-fix-peers missing in npm tarball (#313) (6915455)

0.7.9 (2018-11-12)

Bug Fixes

Features

0.7.8 (2018-10-23)

Bug Fixes

0.7.7 (2018-10-10)

Bug Fixes

0.7.6 (2018-09-20)

Bug Fixes

  • 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 any represented as required (#237) (91074f3), closes #230

Features

  • 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)

Known Issues

  • dotnet: unable to instantiate objects when return type is abstract (#223)

Bug Fixes

0.7.4 (2018-09-10)

Bug Fixes

  • jsii: Force generated assemblies to reference jsii-only dependencies (cf62773)

0.7.3 (2018-09-06)

Bug Fixes

  • jsii: add readme and restore missing files in jsii tarball (09f9fc9)

0.7.2 (2018-09-06)

Bug Fixes

  • Missing types in JSII assembly, invalid Java code, confusing docs (#208) (b37101f), closes #175

Features

  • jsii: Re-implemented jsii to support --watch and produce better error reporting (#188) (76472be)

0.7.1 (2018-08-28)

Bug Fixes

  • jsii-pacmak: Output .NET build artifacts to dist/dotnet/ instead of just dist/ (#192) (f25c8c4)
  • jsii-kernel: Fix module loading on systems that use '' instead of '/' as the path separator (#193) (9e42991)

Features

  • jsii: Add check against downgrading properties to readonly (#201) (f60b0ac)

0.7.0 (2018-08-21)

Bug Fixes

  • kernel: can't find temp directory on Windows (#184) (1aec545), closes #183

Features

  • jsii: Further normalize assembly outputs (#177) (de3f062), closes #60

0.6.4 (2018-08-08)

Bug Fixes

  • jsii-pacmak refers to private dependencies (e61efc0)

0.6.3 (2018-08-08)

New features

  • Produce .nupkg for .NET targets (#160)
  • Upgrade TypeScript to 3.0.1 (#161)

Bug Fixes

  • Denote the optional aspect of types when describing them (#159)

0.6.2 (2018-08-07)

Bug Fixes

  • "Malformed enum value" when using @scoped packages (#139) (4e70209), closes #138

0.6.0 (2018-08-06)

  • First public release

0.5.0 (2018-06-20)

  • Support variadics in methods.
  • Support for static methods, properties and constants
  • Emit strongly-typed setXxx/withXxx overloads for union properties
  • Embed jsii-runtime.js as a webpack'd resource into the the java runtime client