Skip to content

1.1.0 #3018

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

Merged
merged 8 commits into from
Jan 26, 2023
Merged

1.1.0 #3018

merged 8 commits into from
Jan 26, 2023

Conversation

robertbastian
Copy link
Member

@robertbastian robertbastian commented Jan 23, 2023

icu_calendar

icu_casemapping

  • doc improvements

icu_collator

  • doc improvements

icu_collections

icu_codepointtrie_builder

  • internal improvements

icu_datetime

  • internal and doc improvements

icu_decimal

  • internal and doc improvements

icu_displaynames

icu_list

icu_locid

icu_locid_transform

icu_normalizer

  • internal and doc improvements

icu_plurals

  • doc improvements

icu_properties

icu_segmenter

icu_timezone

icu_provider_adapters

icu_provider_blob

  • internal and doc improvements

icu_provider

icu_datagen

icu_provider_fs

  • internal and doc improvements

icu_testdata

  • stabilized metadata
  • doc improvements
  • CLDR 42 and ICU 72 data

bies

  • Bumped writeable version

databake

  • Doc improvements

fixed_decimal

icu_pattern

  • internal improvements

litemap

  • internal and doc improvements

tinystr

tzif

  • internal and doc improvements

writeable

yoke

zerovec

  • ZeroMap2d cursors

@robertbastian robertbastian changed the title Bumping version numbers 1.1.0 Jan 23, 2023
@Manishearth
Copy link
Member

@robertbastian @sffc can we land #2949 and bump Yoke first? it's technically a breaking change.

I'd rather not block that on IsCovariant, a thing which is currently unused and I'd like to redesign again based on actual need.

@robertbastian
Copy link
Member Author

I haven't seen any activity on that PR, and it's not in the 1.1 Blocking milestone. What's the ETA on it?

@Manishearth
Copy link
Member

@robertbastian it should be mergeable once Shane responds

it didn't occur to me that it should be blocking, but i think it should

@Manishearth
Copy link
Member

@robertbastian feel free to roll #3019 into your PR, but I can just merge and publish independently

@Manishearth
Copy link
Member

Also, changelog for Yoke

Copy link
Member

@sffc sffc left a comment

Choose a reason for hiding this comment

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

Haven't read up yet on cargo workspaces but it looks like it might be quite helpful

@@ -24,18 +24,21 @@ include = [
"README.md"
]

[package.metadata.workspaces]
independent = true
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 not really sure what are the implications of this line

Copy link
Member Author

Choose a reason for hiding this comment

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

cargo ws version can be used to bump the versions. By default all crates are versioned together.

Copy link
Member

Choose a reason for hiding this comment

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

Should we remove these [package.metadata.workspaces] lines now?

Copy link
Member Author

Choose a reason for hiding this comment

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

I'd still suggest cargo ws version to bump version, it's really convenient.

@Manishearth
Copy link
Member

Hmm, won't cargo ws prevent us from doing out-of-cycle dot releases since it wants things to be in sync? I'm perhaps not fully clear on what the tool does (at a lower level).

@Manishearth
Copy link
Member

Can we use Cargo's regular workspace-level versioning support? It's not available on our MSRV, but that doesn't actually matter since local tests won't hit it (I think?), and cargo normalizes before publish so crates.io users don't need to worry.

I'd like to stay as close to vanilla Cargo as possible. I'm worried about introducing a dependency on a new tool which is only invoked once in a blue moon (making it much harder to catch any bugs). We have problems with cargo make at times but they're caught immediately, which makes it tolerable, I'm worried about

And plus; publishes aren't a retryable operation; if a publish succeeds but was run with the wrong options, you can't really undo that. I'm still unclear on how this tool works but it ... might be doing some Cargo.toml fixups before publishing, which seems super brittle.

I'm fine with using this tool for bumping stuff, but highly suspicious about requiring it for publishing.

@robertbastian
Copy link
Member Author

I was expected cargo ws to set the versions, but apparently it doesn't. Are we sure that cargo publish doesn't work with just a path? The path fully determines the dependency's version, because it points at a local crate with one version. I was hoping to get rid of all the duplicated versions.

I don't think we can use "workspace-level versioning support" because then our MSRV CI would fail (although I guess we could do something like cargo pacakage and then run MSRV on the result).

@sffc
Copy link
Member

sffc commented Jan 25, 2023

cargo publish has definitely complained when I've tried in the past if a dependency didn't have a version number

I'm pretty sure cargo check will complain loudly if one project's version number is out of sync with a dependent's Cargo.toml entry.

The well-trodden path that has worked for us in previous releases is to just go ahead and update all the version numbers and then cargo publish in topological order

@Manishearth
Copy link
Member

I was expected cargo ws to set the versions, but apparently it doesn't. Are we sure that cargo publish doesn't work with just a path? The path fully determines the dependency's version, because it points at a local crate with one version. I was hoping to get rid of all the duplicated versions.

It doesn't in my experience. And part of this is just that a local path dependency points to a specific crate, whereas Cargo.toml deps are a range.

Which means this is going to be a problem for us once we want to do patch releases and stuff, since we'll sometimes want a crate to bump its dep on, say, yoke, whereas in other cases the yoke change may be purely internal and not require a dep bump.

So I'd say we should undo these changes.

I don't think we can use "workspace-level versioning support" because then our MSRV CI would fail (although I guess we could do something like cargo pacakage and then run MSRV on the result).

Yeah, I was hoping Cargo would silently ignore workspace = true locally but it still notices it on older versions.

@robertbastian robertbastian requested a review from sffc January 25, 2023 16:32
@robertbastian
Copy link
Member Author

The well-trodden path that has worked for us in previous releases is to just go ahead and update all the version numbers and then cargo publish in topological order

I was hoping to improve on that because that's a lot of stupid work, but alas not.

@sffc
Copy link
Member

sffc commented Jan 25, 2023

Also, if you discover any further issues while publishing (not unlikely), so long as they are only Cargo.toml changes, I've usually pushed them directly to the main branch and asked for a post-submit review

@robertbastian robertbastian merged commit aca29c5 into unicode-org:main Jan 26, 2023
@robertbastian robertbastian deleted the ws branch January 26, 2023 10:37
@robertbastian
Copy link
Member Author

I'm not sure I can push to main.

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