Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some release notes and breaking changes for 8.0 #306

Merged
merged 4 commits into from
Oct 11, 2023
Merged

Conversation

roji
Copy link
Member

@roji roji commented Oct 10, 2023

No description provided.

@roji roji changed the title Stuff for8.0 Some release notes and breaking changes for 8.0 Oct 10, 2023
Copy link
Contributor

@vonzshik vonzshik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also add a note about dropping support for .net framework in Npgsql 9? People read release notes (at least I sincerely hope they do).

conceptual/Npgsql/release-notes/8.0.md Outdated Show resolved Hide resolved

### System.Text.Json mapping support must now be opted into
Considerable effort has gone into reducing Npgsql's size footprint; a minimal Npgsql application using NativeAOT and trimming now takes only around 5MB of disk space. To allow users to achieve a minimal size footprint, <xref:Npgsql.NpgsqlSlimDataSourceBuilder> has been introduced; unlike the standard <xref:Npgsql.NpgsqlDataSourceBuilder>, this builder includes only the very minimum of functionality by default, and allows adding additional features via opt-ins. This allows a pay-per-play approach to application size, where developers can choose only the features they actually need for optimal size. For more information on <xref:Npgsql.NpgsqlDataSourceBuilder>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Considerable effort has gone into reducing Npgsql's size footprint; a minimal Npgsql application using NativeAOT and trimming now takes only around 5MB of disk space. To allow users to achieve a minimal size footprint, <xref:Npgsql.NpgsqlSlimDataSourceBuilder> has been introduced; unlike the standard <xref:Npgsql.NpgsqlDataSourceBuilder>, this builder includes only the very minimum of functionality by default, and allows adding additional features via opt-ins. This allows a pay-per-play approach to application size, where developers can choose only the features they actually need for optimal size. For more information on <xref:Npgsql.NpgsqlDataSourceBuilder>
Considerable effort has gone into reducing Npgsql's size footprint; a minimal Npgsql application using NativeAOT and trimming now takes only around 5MB of disk space. To allow users to achieve a minimal size footprint, <xref:Npgsql.NpgsqlSlimDataSourceBuilder> has been introduced; unlike the standard <xref:Npgsql.NpgsqlDataSourceBuilder>, this builder includes only the very minimum of functionality by default, and allows adding additional features via opt-ins. This allows a pay-for-play approach to application size, where developers can choose only the features they actually need for optimal size. For more information on <xref:Npgsql.NpgsqlDataSourceBuilder>

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No strong feelings here but both terms seem to be used (some search results). I'll leave like that for now but if you feel strongly about it I can change.

conceptual/Npgsql/release-notes/8.0.md Outdated Show resolved Hide resolved
conceptual/Npgsql/release-notes/8.0.md Outdated Show resolved Hide resolved
Npgsql version 8.0 is under development, and is available as preview versions.
**The below release notes and breaking changes list aren't yet complete. Check back soon for more notes.**

Npgsql version 8.0 is under development, and is available as release candidate versions.

## New features
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention nullable parameter support in copy and parameters
npgsql/npgsql#1965
npgsql/npgsql#3679

There is also some info that needs changes here, as we now do support sending nulls
https://www.npgsql.org/doc/basic-usage.html#strongly-typed-parameters

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can decide to mention something about the polymorphic json support npgsql/npgsql#4862

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh absolutely, this is just a first round - we definitely need a lot more release notes; I'll be working on that (putting your suggestions in my notes).

In previous versions, transparent JSON serialization and deserialization was supported via System.Text.Json. That support hasn't changed, but you must now explicitly opt into it. If you're using `NpgsqlDataSource`, simply add the following when building your data source:
Making Npgsql NativeAOT/trimming-compatible was a far-reaching effort, affecting many parts of the driver and involving a rewrite of large parts of Npgsql's internals (leading to many other internal improvements). This huge task was done mainly by [Nino Floris](http://github.com/ninofloris), with considerable contributions also by [Nikita Kazmin](https://github.com/vonzshik).

## Breaking changes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming we're still missing quite a few things here, including cidr/inet changes etc?

Copy link
Member Author

@roji roji Oct 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely, this is just a first round. I'll be submitting more PRs.

@roji roji requested a review from NinoFloris October 11, 2023 12:30
@roji
Copy link
Member Author

roji commented Oct 11, 2023

Maybe also add a note about dropping support for .net framework in Npgsql 9? People read release notes (at least I sincerely hope they do).

Do you think we should address this in the release notes for 8.0? Feels like we should do this for 9.0 no?

@roji
Copy link
Member Author

roji commented Oct 11, 2023

Merging as-is for now, we'll be adding more in any case so we can modify as required.

@roji roji merged commit 41cfb70 into npgsql:main Oct 11, 2023
1 check passed
@roji roji deleted the StuffFor8.0 branch October 11, 2023 13:00
github-actions bot pushed a commit that referenced this pull request Oct 11, 2023
@vonzshik
Copy link
Contributor

Do you think we should address this in the release notes for 8.0? Feels like we should do this for 9.0 no?

We definitely should do that for 9.0, but adding a note for 8.0 (that it's going to be the last version supporting netfx) definitely wouldn't hurt. Either people will notice and might raise an issue, or we can always point out that we've made an effort to notify everyone a year ahead.

@roji
Copy link
Member Author

roji commented Oct 11, 2023

@vonzshik OK - https://github.com/npgsql/doc/pull/307/files#diff-b90b031deb27acc5adead890d271178705e7ef92a0dddd051e2901274d6d610aR8.

@vonzshik
Copy link
Contributor

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.

3 participants