Skip to content

Sync 0.18 into 0.19 (2025/03)#1670

Merged
Baccata merged 57 commits intoseries/0.19from
018-into-019-202503
Apr 8, 2025
Merged

Sync 0.18 into 0.19 (2025/03)#1670
Baccata merged 57 commits intoseries/0.19from
018-into-019-202503

Conversation

@kubukoz
Copy link
Copy Markdown
Member

@kubukoz kubukoz commented Mar 31, 2025

PR Checklist (not all items are relevant to all PRs)

  • Added unit-tests (for runtime code)
  • Added bootstrapped code + smoke tests (when the rendering logic is modified)
  • Added build-plugins integration tests (when reflection loading is required at codegen-time)
  • Added alloy compliance tests (when simpleRestJson protocol behaviour is expanded/updated)
  • Updated dynamic module to match generated-code behaviour
  • Added documentation
  • Updated changelog

kubukoz and others added 30 commits September 30, 2024 11:36
)

* Generate `transform` as a final def for cats-tagless friendliness
…1604)

Bumps [docusaurus-lunr-search](https://github.com/lelouch77/docusaurus-lunr-search) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/lelouch77/docusaurus-lunr-search/releases)
- [Commits](praveenn77/docusaurus-lunr-search@v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: docusaurus-lunr-search
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Strip any leading - but no other character when converting from case camel case to kebab case. Fixes 1539
* add a failing sbt scripted test to demonstrate #1589
* add the Scala version to the caches used by codegen
* properly isolate the cache stores
* Add a flag to allow for numerics to be decoded from JSON strings
* Expose JSON codec transformations to SimpleRestJsonBuilder
* Add mention in docs how JSON codec transformations are exposed
* Optimise conversion from Blob to Stream

Motivated by http4s/http4s#7539

* Updated changelog
* Add utility types for fromHandlers and friends

* add changelog entry
* Plan for fixing #1517

* Fix for #1517 - smithy4s-protocol always included.

* Fixed #1517 mill build test check the new dependency.

* scalafmt

* Updated CHANGELOG.md

* Fixed the scripted test

* Update CHANGELOG.md

Co-authored-by: Jakub Kozłowski <kubukoz@gmail.com>

* Moved smithy4s org and protocol artifact name to build.sbt

* Stray comment

* Change log typo

* Test cleanup

* Update CHANGELOG.md

* Update CHANGELOG.md

* Use the organization value from sbt's publishSettings .

---------

Co-authored-by: Jakub Kozłowski <kubukoz@gmail.com>
* The plan so far

* Possibly fixed #1338 - include the namespace names in the error message

* I've got something that doesn't break any tests... Next to actually test it

* Prettier formatting for the error

* sbt scripted test for #1338

* Cleaner unit test that checks the error message

* scalafmt changes

* Not sure why that file was ever checked in

* Update the CHANGELOG.md

* ?! scalafmtAll !?

* Bumping a test file to rerun the automated check.

* Maybe it is the scala version?

* Fix for running the scripted test in github from Baccata

* Found a way to test the caught exception directly

* Move CHANGELOG.md note to 0.18.26

---------

Co-authored-by: Jakub Kozłowski <kubukoz@gmail.com>
* Update sbt to 1.10.1

* bump scalas

* Explicitly add header plugin

* update headers

* bump to latest

* bump scalas again

* Hopefully fix bootstrapped

* workaround

* header stuff

* fix this properly

* update scalas

* i guess we have to split that?

* use full jdk in shell
* Fix incorrect behavior in lenient tagged union decoders

* Rearrange things + add entry in CHANGELOG
Handle edge cases with NaN/Infinity
* Fix missing sbt command in CI build

* Add sbt command for release and microsite jobs
Document/JSON timestamp encoder precision fix

* Fix encoder
* Encode epoch seconds without trailing 0s
* More performant way to use BigDecimals
* Add comment, improve tests and handle timestamps before linux epoch
* Add a special case for how S3 requests should be signed

* Changelog

* Re-enable tests for non-S3 signatures

* Avoid un-necessary flatten

* Regenerated

* jvm17 ordering

* Regen copyright headers

* Fix changelog
* fix issues with nullable required fields decoding
* handle combo of refinements with nullable
* update changelog
* update document spec with refinement cases
* add tests and docs for decoding of different field types
kubukoz and others added 10 commits February 11, 2025 15:00
* wip adt validator perf

* cleanup

* Add missing test and rephrase errors

* cleanup

* Remove redundant part of the selector (this would've only checked if there's
at least one structure target)

* Rewrite AdtMemberTraitValidator

* Add changelog entry

* Rewrite ADT tests to IDL

* Explain selectors

* add another test

* Remove redundant selector piece

* Disallow adt on mixins

* Don't allow mixins in adtMember
* feat: Add support for more flexible defaults encoding

* Flip the condition

* Add skipIfEmptyCollection variants

* tweaks for @deprecated annotation

* Add empty line after header

* Apply review comments

* Rename to FieldSkipCompiler

* Mark explicitDefaultsEncoding as deprecated

* Create monoid instance for FieldSkipCompiler

* Fix compilation for scala3

* Fix bijection and refinement

* Rewrite tests and convert FieldSkipCompiler instances to case objects

* Add lazy implementation

* Add test for recursive list

* Remove asInstanceOf

* cleanup

* Revert accidental rename

* Change shouldSkip to shouldRender

* Rewrite other occurences of explicitDefaults to new encoding

* Drop monoid instance for FieldSkipCompiler

* Rename FieldSkipCompiler to FieldFilter

* Replace combine method with regular boolean operations

* Rename rest of the methods to use new name

* More renames

* More concise formatting

* Remove existential type from the interface

* Add comment about calling .value in Lazy case

* Update changelog

* Update documentation

* Fix SchemaVisitorMetadataWriter

* Rename FieldFilter instances

* Rename compileOptional to compileNonRequired

* Rename SkipUnsetAndDefaultOptionValues to Default

* Fix compilation and add test case for bijection schema

* Add test for refined schema

* Update docs

* Move FieldFilter to smithy4s.schema

* Fix typo

* Rename SkipDefaultOptionValues to SkipNonRequiredDefaultValues

* Add missing changelog entry

* Remove redundant imports after refactor

---------

Co-authored-by: ghostbuster91 <ghostbuster91@users.noreply.github.com>
Co-authored-by: Jakub Kozłowski <kubukoz@gmail.com>
* Fix handling of non-Option optionals

* Flip boolean

* Fix nullable support

* Add new test for the fix

* Add new suite

* unused import

* add changelog

* Move nullability handling to option schemas

* Move to a smaller match

* Add more cases of funky optionals in the json tests

* add comment

* Fix behavior for optional nullables

* Add tests for the nullable fix
@kubukoz kubukoz changed the base branch from series/0.18 to series/0.19 March 31, 2025 22:23
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 31, 2025

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
12 out of 13 committers have signed the CLA.

✅ kubukoz
✅ dwalend
✅ Baccata
✅ keynmol
✅ msosnicki
✅ plokhotnyuk
✅ combinatorist
✅ philkdisney
✅ zakolenko
✅ a-morales
✅ ghostbuster91
✅ lewisjkl
❌ bpholt
You have signed the CLA already but the status is still pending? Let us recheck it.

@kubukoz
Copy link
Copy Markdown
Member Author

kubukoz commented Mar 31, 2025

Need to adjust the tests changed in #1666 because of #1341

kubukoz and others added 10 commits April 1, 2025 10:19
* scala: 2.13.15 -> 2.13.16, 3.3.4 -> 3.3.5

* bump scalafix

* bump sbt

* bump ALL the scala 2.13s
* UnaryServerEndpoint: encode the error before applying the middleware

* UnaryServerEndpoint: encode the error before applying the middleware

* scalafmtAll

* binary compatible RouterBuilder

* ensure binary compatibility

* add tests

* address PR comments

* add encodeErrorsBeforeMiddleware to RouterBuilder

* docs for RouterBuilder.encodeErrorsBeforeMiddleware

* add a private `copy` method to simplify RouterBuilder setup

* Update CHANGELOG with Smithy error encoding improvement

* address PR comments

* address PR comments
* Add protocol publish dependency in codegen compile

* refactors

* Add changelog entry

* Add test with alloy

* update changelog to match the convention from #1673
* Sort hints before rendering: take B

* revert generated changes to showcase the solution better

* Simplify - we only render native traits anyway.

* Update tests to account for the sorting

* Add changelog entry

* check in codegen changes

* reword changelog entry to match new format
* WIP: support transitive mixins in `@adt`

* Refactor code

* revert formatting changes

* use better names in test

* revert unrelated changes

* cover another interesting case

* add useful note

* Add changelog entry, rephrase others

* Update docs

* formatting
@kubukoz kubukoz marked this pull request as ready for review April 7, 2025 18:30
@kubukoz kubukoz force-pushed the 018-into-019-202503 branch from 1059e67 to 05073ef Compare April 7, 2025 18:32
@Baccata Baccata merged commit 83b05bd into series/0.19 Apr 8, 2025
10 of 11 checks passed
@Baccata Baccata deleted the 018-into-019-202503 branch April 8, 2025 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.