Graceful plugin and acServer shutdown.

Refactor the plugin kill call to try a SIGINT for some time then use
SIGKILL as required.  In all cases a cmd.Wait is called which ensures
the process is reaped (e.g no defunct procs).
This change mitigates a plugin restart race conditions where the process
being killed is not fully shutdown before a new one is started.  Ie. Issues
with TCP port bind() calls failing when an existing process was not fully terminated.
Related to #1030
NOTES: Untested in Windows
DISCLAIMER: My first attempt at using golang.

Hey! Thanks for this PR. It looks like the build is failing due to an unnecessary import on Windows (hopefully you can see the build output on travis - if not let me know!).
Once that's sorted, i'll run some tests on it on both Linux and Windows and get back to you. From a quick glance at the code, I think this will be a nice addition to the process management inside Server Manager :)

Hi,
Just in case this can help, I have also a problem with stracker not being stopped when I stop acServer. I am on Linux CentOS 8.
When I start acServer, it starts well stracker, but it does not stop it correctly. So if I restart my acServer service, I have always errors and the stracker plugin does not work anymore. I have to manually kill the stracker process and restart the acServer service to have everything running well.
I have the same problem with "Kissmyrank". I can do some tests if you need help.

@tmeedend I would certainly be interested in your test results.  If you're able to build from source you can clone my fork and try out these changes.  I hope that it will solve your issues entirely.
https://github.com/mayfield/assetto-server-manager/tree/softkill

Ok, I will try to build this week I keep you informed.

Actually, I only use acServer on Linux so I don't think I can verify this code as the fix is for windows, what do you think @mayfield ? Is this fix only for windows ?

Actually, I only use acServer on Linux so I don't think I can verify this code as the fix is for windows, what do you think @mayfield ? Is this fix only for windows ?

It's both platforms.  I'm a Linux user.  And acServer is affected by this patch slightly too.  But more so the plugins.

Ok, the thing is that I run acServer on Linux but this server does not have anything to build go programs. I don't use it for dev.
I am using my windows machine for that but I don't manage to generate the server-manager binary.
I am using custom make.bat files to compile on windows (see my branch here) but when I run this command :
go build -ldflags "-s -w -X github.com/JustaPenguin/assetto-server-manager.BuildVersion=%VERSION% %LDFLAGS%
I have no errors but no binary as well. Any idea ?

Ok, the thing is that I run acServer on Linux but this server does not have anything to build go programs. I don't use it for dev.
I am using my windows machine for that but I don't manage to generate the server-manager binary.
I am using custom make.bat files to compile on windows (see my branch here) but when I run this command :
go build -ldflags "-s -w -X github.com/JustaPenguin/assetto-server-manager.BuildVersion=%VERSION% %LDFLAGS%
I have no errors but no binary as well. Any idea ?

Haahah.  We are almost exactly opposite.  I just barely started using a windows box for sim racing and spend all day and night on a Linux workstation for dev.  I can barely find the start menu on Windows.
If you're trying to build on a linux box.  I just started by following the snippit from the README...

I did find that the make run was nessisary for the first build but that it ends with an error.  So I think the Makefile might need a little love.  However after the initial make lines I use this for rebuilding just the binary: (cd cmd/server-manager ; go build -ldflags "-s -w -X github.com/JustaPenguin/assetto-server-manager.BuildVersion=dev-20.11.07-11-48")
Then the binary is located at cmd/server-manager/server-manager;   In my case for testing I symlinked that file to my two test servers.

Sorry it's taken a while to get this one through @mayfield!
Thanks for your contribution - it will be in the next release! :partying_face:

@cj123 thank you and no worries.  I'm just getting my feet wet with golang.  I hope it helps this app!


Masking User IP value

Problem
Hi Team,
In this ticket, the customer mentioned when the analytic event collects data [1] and publishing, it sends the user IP value in an event to Choreo Analytics.
So, the customer has a requirement to mask the last 2 octet of the user IP address due to this information being classisfied as sensitive in their case.
Example: <IP_ADDRESS> must be changed to 10.102..
We would like to know since these information is sensitive in their usecase, is there a way to overcome this issue?
Highly appreciate your input on this.
Solution
Rather than passing the same value we can mask the value [1]
https://github.com/wso2-support/carbon-apimgt/blob/support-9.28.116.x-full/components/apimgt/org.wso2.carbon.apimgt.common.analytics/src/main/java/org/wso2/carbon/apimgt/common/analytics/collectors/impl/SuccessRequestDataCollector.java#L93
Affected Component
APIM
Version
4.2.0
Implementation
No response
Related Issues
No response
Suggested Labels
No response

Public PR: https://github.com/wso2/carbon-apimgt/pull/12190


feat: create basic functionality for Extensions

Expands Extension.new and adds new functions to mimic client decorators
About
This pr adds in basic functionality for the Extension class, along with decorators for commands/components/listeners
Marked as a draft because some things are missing, like properly removing commands on removal of the Extension
Any suggestions on improvements are welcome
Checklist

[ ] I've ran pre-commit to format and lint the change(s) made.
[x] I've checked to make sure the change(s) work on 3.8.6 and higher.
[x] This fixes/solves an Issue.

(If existent): [MISC] Revamping the cogs/extension framework

[x] I've made this pull request for/as: (check all that apply)

[ ] Documentation
[ ] Breaking change
[x] New feature/enhancement
[ ] Bugfix

I would like someone to double check that everything works, and I'm not just hallucinating a lack of errors

Delta and I will test this code when this PR is marked ready for reviewing

There's support for @client.component, @Client.command, etc using these, but what about @Client.autocomplete?

No support for modals either

This is LGTM, I think we're finally ready to go ahead and merge this. I'll be leaving the last approval on this for @DeltaXWizard , but all of these changes look good on my end.

You may need to run pre-commit again after new pending changes, I'll test afterwards though :)
(Code looks good, I have no objections, I just need to test the thing before I approve)

After some more tests, I figured out that there still are a few problems to address:

When loading any extension after bot.start(), all commands that are initialized outside of a cog (for example initialized in the main launch file) will all disappear from the Slash Commands Menu.
After unloading an extension, the commands from this extension are not removed, and can still be accessed from the Slash Commands Menu.

Feel free to ask me if you need some example code to recreate these issues.

I don't think you are supposed to load extensions after bot.start()

I want to test again, just to make sure I fixed the breaking changes from the last patch

Didn't know it might be a possibility that it shouldn't be loaded afterwards, in fact I was creating a Slash Command that allows the user to un/re/load cogs directly via Discord. I've previously done it with d.py, so I thought that it would be a feature that i.py should also have.

Afaik fl0w wanted something like hot reload for cogs at first so it should be possible tho shouldn't it?

Afaik fl0w wanted something like hot reload for cogs at first so it should be possible tho shouldn't it?

Oh ok never mind then

I don't know how to do pre-commit
I do git add <changes>, black.exe ., isort.exe ., flake8.exe . and do the changes, but it still failes

Alright there is still the problem that "global" commands (not initialized in cogs) disappear after loading any cog on my side. The other issues have been fixed though.

"global" commands (not initialized in cogs) disappear after loading any cog on my side

I'm unable to reproduce this. All commands outside of the cog remain usable, and any inside get added/removed as the cog gets loaded/unloaded. The only reason I can think of for it happening would be global commands, as I've only been testing in the guild scope. I'll try global commands now, but I don't expect a difference

The only reason I can think of for it happening would be global commands, as I've only been testing in the guild scope.

Oh my bad on this one, I formulated badly my previous message. In fact, I also have tried it only with a guild scope.
Weird that we don't have the same behaviour, on my hand whenever I load/reload a cog, all the commands outside of this cog disappear.

I've recreated the missing commands issue, and it seems to only happen when a cog is unloaded then reloaded in quick succession. Any ideas as to why or where this is happening is welcome

I'll be moving through with merging this to unstable, I'm looking to hit a feature lock on getting extensions in rather soon and we can always make revisions with the pull request being brought in. For any relating concerns to this, I advise others to create an Issue or make a mention of it in the #unstable-dev channel in our support server.


add some LC M $ E sol

this is amazing @piyush362
thanks for the contribution in my repo and please share in social media and tag me on twitter**


My custom songs have vanished!

Hi!
When I played beatsaber the other day, all my custom songs just vanished!
I have tried everything, uninstalled beatsaber installed it again removed mod and reinstalled mod nothing works!
What can be wrong?

Have you updated to the latest version of the plugin? If you download the "AlreadyInstalled" version from https://github.com/xyonico/BeatSaberSongLoader/releases, copy the files into the Beat Saber folder (under Steam\steamapps\common\Beat Saber or similar), then drag the Beat Saber.exe file onto IPA.exe (not the folder), it should update you to the latest plugin.
If you launch Beat Saber after this, your custom songs should appear (although you may need to give it a few moments to load your library if you have a lot of songs).
For more information see the ReadMe. Note that there appear to be a few things broken in 4.2 (Fractional BPM, Difficulty), but earlier versions unfortunately aren't compatible with the latest Beat Saber update that just dropped recently.
Good luck!

Try deleting your Plugins folder and running this mod installer: https://github.com/Umbranoxio/BeatSaberModInstaller/releases

Thanks so much now it's working again!:)


The getter 'languageCode' was called on null flutter for iOS

Hello!
Still have the error with localization for Flutter iOS application (for Android everything works fine).
My code for App widget:
...
@override
  Widget build(BuildContext context) {
    _initGlobalConstants();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ]);
    _bloc.dispatch(AppEventStarted());
    return MaterialApp(
      supportedLocales: [
        Locale('en', 'US'),
        Locale('ru', 'RU')
      ],
      localizationsDelegates: [
        AppLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate
      ],
      localeResolutionCallback: (locale, supportedLocales) {
        for (var supportedLocale in supportedLocales) {
          if (supportedLocale.languageCode == locale.languageCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      }
...

The point is that when I try to launch it with some breakpoints, everything works good and locale is not null. But when I try the same without any breakpoints, I have error inside localeResolutionCallback - The getter 'languageCode' was called on null. Tried several times some tips about this issue for iOS:

Added

<key>CFBundleLocalizations</key>
	<array>
		<string>English</string>
		<string>ru</string>
	</array>
...

for Info.plst
2) Added locales support for iOS project.
But nothing helped.
Don't know what to do. Localization is very important, I thing, but it's so ugly for Flutter now.

I really don't why but I removed 'localeResolutionCallback' method and the load function in _AppLocalizationsDelegate is just working fine!

@nickrivers
I just removed localeResolutionCallback and everything works ok. But if you use app and changes system language at runtime, your app will be broken.

I am getting the following on my test device an iPhone 7 iOS 13.1.2, running a production build based on the flutter stable branch :
NoSuchMethodError: The getter 'languageCode' was called on null.
Receiver: null
Tried calling languageCode
When I:

Open the production build of my app on my test device.
Open any other app moving my app to the background.
Wait a minute or two.
Bring my app back to the foreground by selecting it from the running app picker or tapping it's icon.

This only happens on physical iOS devices running a production build. Can’t test on a physical iOS device in debug mode on stable at the moment.
flutter doctor -v
[✓] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.14.6 18G103, locale en-GB)
• Flutter version 1.9.1+hotfix.4 at /Users/nicholasllewellyn/Development/Tools/flutter
• Framework revision cc949a8e8b (3 weeks ago), 2019-09-27 15:04:59 -0700
• Engine revision b863200c37
• Dart version 2.5.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/nicholasllewellyn/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Users/nicholasllewellyn/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.5900203/Android
Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.1, Build version 11A1027
• CocoaPods version 1.8.3
[✓] Android Studio (version 3.5)
• Android Studio at /Users/nicholasllewellyn/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.5900203/Android
Studio.app/Contents
• Flutter plugin version 40.2.2
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.39.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.5.1
[!] Connected device
! No devices available
! Doctor found issues in 1 category.

Same problem here. When I deploy the app to the pychical device it is hapennig.

Same for me also running in debug mode on iOS Emulator, ios 13.3.

Maybe a related problem is that window.locale is null on app startup sometimes. I have this on app startup (before runApp):
WidgetsFlutterBinding.ensureInitialized();
final locale = window.locale;
Intl.systemLocale = locale.toString();

Works fine on Android, causes random crash on iOS (device).

Workaround to my issue:
WidgetsFlutterBinding.ensureInitialized();
while (window.locale == null) {
   await Future.delayed(const Duration(milliseconds: 1));
}
final locale = window.locale;
Intl.systemLocale = locale.toString();

Not pretty but it works...

Issue still persists in 2020

Hello,
Any workaround to resolve?
Currently I removed the localeResolutionCallback, but in future i'll have some problems with it.
localeResolutionCallback: (locale, supportedLocales) {         for (var supportedLocale in supportedLocales) {           if (supportedLocale.languageCode == locale.languageCode &&               supportedLocale.countryCode == locale.countryCode) {             return supportedLocale;           }         }         return supportedLocales.first;       },

@GaryQian do you know what's going on here?  I remember you doing some work on locales on iOS, I think.

I will look into it!

One thing that looks fishy to me - in FlutterViewController.mm, we're not calling the flow to update the locales until viewDidAppear.  It seems like we may need to call that earlier.

This issue means that localized Flutter apps may be initially rendered with the wrong locale and (usually but not always) re-drawn later with the correct one.  This is tremendously problematic for things like dialogs and screens pushed on launch that can end up "capturing" the wrong locale.  I can't believe that this problem isn't more widely noticed.

I have a fix for this.  Working on writing a test for it.

For people looking for a workaround, copying what I wrote on a similar bug:

The patch for this may take some time before it rolls on to a usable channel for people experiencing this bug.  For now, this can be worked around by using a platform channel when on iOS to request the current locale from the device, as explained here: https://flutter.dev/docs/development/platform-integration/platform-channels#step-4-add-an-ios-platform-specific-implementation
Alternatively, you could draw a splash screen or animation until the locale initializes (and you can check that properly by adding an observer to the WidgetsBinding that overrides didChangeLocales), e.g. something like
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  if (WidgetsBinding.instance.window.locale == null) {
    Completer<Locale> completer = Completer<Locale>();
    WidgetsBinding.instance.addObserver(LocaleObserver(completer));
    // completer.future is now a `Future` that will complete when the locale is available.
  }
}

class LocaleObserver extends WidgetsBindingObserver {
  LocaleObserver(this.completer);

  final Completer<Locale> completer;

  @override
  void didChangeLocale(List<Locale> locale) {
    WidgetsBinding.instance.removeObserver(this);
    completer.complete(WidgetsBinding.instance.window.locale);
  }
}

Even better work around:
Add this to your AppDelegate.swift:
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GeneratedPluginRegistrant.register(with: self)
    // Work-around for https://github.com/flutter/flutter/issues/39032
    // This is safe to remove once the fix for that is available in the SDK
    // used by this application.
    guard let controller = window?.rootViewController as? FlutterViewController else {
      fatalError("rootViewController is not type FlutterViewController")
    }
    let engine = controller.engine!
    let currentLocale = NSLocale.current
    if (currentLocale.languageCode != nil) {
      engine.localizationChannel?.invokeMethod("setLocale", arguments: [currentLocale.languageCode!, currentLocale.regionCode ?? "", currentLocale.scriptCode ?? "", currentLocale.variantCode ?? ""])
    }

Will this correction be released soon to any branch?

It's in 1.17.5 dev and in all the 1.18.x series.

Switching channels to dev seemed to have fixed issue for us.

This issue is still not solved for 1.20.

Any fix for this yet?

I am still having this error in my Flutter app. This is the code.


Doesn't remember some settings after reboot

These are the settings I have enabled.

But after I reboot, the center and transparent settings are unchecked.
I use version 0.1.65-r20190920.
Does maybe a newer version fix this?

These are the settings I have enabled.

But after I reboot, the center and transparent settings are unchecked.
I use version 0.1.65-r20190920.
Does maybe a newer version fix this?

I can confirm that bug!

I've been having the same/similar bug for a while, but recently something has changed.
I use the same version - 0.1.65-r20190920.
I had "Show start button" and "Show area" unticked, and "Center" ticked. A restart would retick the two unticked, and untick the "Center".
It now remembers the settings for the Start button and Tray, but not for the center. Re-enabling "Center" though makes this window appear on the top-left of my screen. I can't get rid of it, and no, Alt-F4 doesn't work either.

It should be worth noting I also use TranslucentTB alongside TaskbarDock.


[W5.7][W10-4]Benn Tay Guobin

I am assuming that this will not the main PR for the W5.7 LO. I will just be marking this as reviewed for admin purposes.


Nested Groups

Please add info on how to create nested groups. E.g. GroupA/SubGroupA.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 26c39cc5-33c8-c13d-0dd0-a3a8841d78de
Version Independent ID: da1d4d25-546f-4748-6c6b-1ac9d0565783
Content: Server groups - Azure Data Studio
Content Source: docs/azure-data-studio/server-groups.md
Product: sql
Technology: azure-data-studio
GitHub Login: @markingmyname
Microsoft Alias: maghan

@blakemcneill Thank you for the feedback.
Assigning this to the author for review.

@blakemcneill,
Thanks for your comment.
Your contribution is much appreciated.
However, our team can only answer feedback related to the documentation. Please kindly log your product feedback by using the button "Give Product Feedback" at the bottom of the DOCS page or visit the UserVoice page. If you have any feedback related to the documentation, please feel free to log in through this channel. We truly appreciate your contribution to our articles.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue. To see what the community is wanting, please visit the UserVoice site.


Keyboard Color Contrast Violates WCAG Standards

This keyboard color, purple and black, is tough for users to see, so it is recommended that they choose a different color.

Yeah, that color combo is kind of hard to see. The issue has been resolved in the latest commit 67dce1f, and the purple and black are just placeholder colors for now. I'll update them to something more user-friendly as I plan to implement both light and dark themes. Feel free to leave your color suggestions, and I'll definitely consider them.


Adding description and title to column serializations.

This is meant to solve https://github.com/pandera-dev/pandera/issues/809
This is a change to enable the propagation of description and title attributes into the serialized dataframe schema created by to_yaml.
Demo script:
class TestSchema(pdr.SchemaModel):
    column1: Series[pd.StringDtype] = pdr.Field(title="col1_title", description="Column 1")
    column2: Series[int]
    column3: Series[float] = pdr.Field(description="Column 3")

TestSchema.to_yaml('test_schema.yaml')

produces the .yaml file:
schema_type: dataframe
version: 0.0.0+dev0
columns:
  column1:
    title: col1_title
    description: Column 1
    dtype: string[python]
    nullable: false
    checks: null
    unique: false
    coerce: false
    required: true
    regex: false
  column2:
    title: null
    description: null
    dtype: int64
    nullable: false
    checks: null
    unique: false
    coerce: false
    required: true
    regex: false
  column3:
    title: null
    description: Column 3
    dtype: float64
    nullable: false
    checks: null
    unique: false
    coerce: false
    required: true
    regex: false
checks: null
index: null
coerce: false
strict: false
unique: null

Would I be able to get a maintainer to approve running the workflows on this PR? @cosmicBboy ?

Alright @cosmicBboy, I think we might be getting close.
All of the tests pass using make nox (although I'm getting weirdly inconsistent results from tests/modin/ tests.

Now that I think about it, it might be worth adding another test case in tests.io.test_io.test_from_yaml that tries to create a  schema from a .yaml file that doesn't have either description or title specified in it. This would ensure backwards compatibility when parsing old schema files.

thanks for the PR @dantheand ! As far as I can tell the CI errors aren't due to the changes in this PR, let me look into them and we can rebase this change on the fixes.

@cosmicBboy I added the test mentioned above. Feel free to ping me when the CI errors are resolved and I'll pick this PR back up!

hey @dantheand the CI issues should be fixed now, please rebase your changes on the latest dev branch!

@cosmicBboy I think I rebased onto dev. I'll admit I'm not very familiar with rebasing, so please take a look at the history and advise if I should do it different.

@cosmicBboy I think this is still a CI issue unrelated to this PR, right?

@cosmicBboy @dantheand I don't think it's related to your issue. I'm seeing the same in another issue (#887).


still loading identicons from old api endpoint

This should be https://identicon.starknet.id/1

Please checked it i resolve that issue


bug: block node emits error when sending a response if the producer has closed the connection

When running a test where ghz sends a large block and then disconnects, an error is thrown to the log like:
2024-09-16 09:38:36 Exception in thread "Thread-5" java.lang.RuntimeException: java.lang.IllegalStateException: Stream is already completed, no further calls are allowed
2024-09-16 09:38:36     at com.lmax.disruptor/com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:35)
2024-09-16 09:38:36     at com.lmax.disruptor/com.lmax.disruptor.BatchEventProcessor.handleEventException(BatchEventProcessor.java:254)
2024-09-16 09:38:36     at com.lmax.disruptor/com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:193)
2024-09-16 09:38:36     at com.lmax.disruptor/com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:122)
2024-09-16 09:38:36     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
2024-09-16 09:38:36     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
2024-09-16 09:38:36     at java.base/java.lang.Thread.run(Thread.java:1583)
2024-09-16 09:38:36 Caused by: java.lang.IllegalStateException: Stream is already completed, no further calls are allowed
2024-09-16 09:38:36     at com.google.common@33.0.0-jre/com.google.common.base.Preconditions.checkState(Preconditions.java:512)
2024-09-16 09:38:36     at io.grpc.stub@1.65.1/io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onNext(ServerCalls.java:375)
2024-09-16 09:38:36     at com.hedera.block.server/com.hedera.block.server.producer.ProducerBlockItemObserver.onEvent(ProducerBlockItemObserver.java:207)
2024-09-16 09:38:36     at com.hedera.block.server/com.hedera.block.server.producer.ProducerBlockItemObserver.onEvent(ProducerBlockItemObserver.java:53)
2024-09-16 09:38:36     at com.lmax.disruptor/com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:167)
2024-09-16 09:38:36     ... 4 more

I suspect this is because the ProducerBlockItemObserver attempts to send a block response but the producer (ghz) has already closed the connection.
The grpc io interface for interacting with the underlying observer does not provide any status methods but we might be able to cast to the implementation class under the hood and check isReady() to check before invoking a response when the connection is already closed.
It would be good to get rid of these errors since they pollute the logs and will become noisy in production.

@mattp-swirldslabs  to confirm if this is invalid now as we are not using grpc.io anymore.

Helidon does not expose methods to check socket availability. We may have to live with this for now. There's some activity on this ticket so perhaps they will provide the ability to check availability before sending data.


Addresses #4754

This PR addresses #4754 by adding two CleanupParameters:

largestFragmentChooserUseAtomCount: enables/disables atom count as LargestFragmentChooser criterion
largestFragmentChooserHeavyOnly: count only heavy atoms
A LargestFragmentChooser constructor taking CleanupParameters as parameter was added to both C++ and Python, and relevant unit tests.

@greglandrum Done; I have slightly reworded the comments but still along the lines of your suggestion (i.e., improved clarity).


NEW Adding a shuffle method to ArrayList

I considered adding some applyCallback(callable $callable) API but I couldn't think of any other use case for it. It's different from each because we want one callback on the whole list... not each individual item.

cc @silverstripe/core-team as an API change

I thought that's not a change, but new API method though?

Yeah, sorry - I'm not saying it's a breaking change, but it is still a change to the API surface

I think you should label this as an API change as well

I thought that was just for API breakages?

Is it worth adding DataList::shuffle() that calls $this->sort('RAND()'), as well, so the two APIs have parity?

@sminnee That was my thought, too, but is RAND() cross platform?

Annoyingly it seems to be random() in PostgreSQL but rand() in MySQL.

That's what I remember. Worth thinking about down the track, and maybe putting into SS_List.

Unfortunately, that's not ANSI SQL - https://stackoverflow.com/a/1209946

Unfortunately, that's not ANSI SQL

$this->sort(DB::getConn()->random()) then. ;-)
https://github.com/silverstripe/silverstripe-framework/blob/4/src/ORM/Connect/MySQLDatabase.php#L522
https://github.com/silverstripe/silverstripe-postgresql/blob/2/code/PostgreSQLDatabase.php#L708
https://github.com/silverstripe/silverstripe-sqlite3/blob/2/code/SQLite3Database.php#L276

maybe putting into SS_List.

That breaks any other SS_List implementation, so not in 4.

Yeah, I meant in 5.0 :)

@sminnee

I thought that was just for API breakages?

Nah, it categorises changes under "API Changes" in changelogs. See the docs.

I've added an update to DataList too now

If the test doesn't pass, I'm buying a lotto ticket.


Notify Slack channel on extension publish

We should notify our internal Slack channel each time we publish a new release of the extension (both stable and internal - possibly in a separate channel #feed-vscode or similar if we do not want to have all of them in the main vscode channel).

related to #76


Added simple Flappy bird game

Press j to jump, q to quit at any time
A few TODOS at the top of its source main.rs, but currently working

I did a few changes to it. Nice work!


Update all dependencies

This PR contains the following updates:

Package
Type
Update
Change

azure-core (source)
dependencies
patch
1.30.0 -> 1.30.1

black (changelog)
dev
minor
24.1.1 -> 24.3.0

boto3
dependencies
patch
1.34.35 -> 1.34.79

infra-thunder
dependencies
digest
3965ecd -> 6a94013

poethepoet
dev
minor
^0.24.0 -> ^0.25.0

pre-commit/action
action
patch
v3.0.0 -> v3.0.1

protobuf
dependencies
major
^4.0.0 -> ^5.0.0

pulumi
dependencies
minor
3.104.2 -> 3.112.0

pulumi-aws
dependencies
minor
6.20.1 -> 6.29.0

pulumi-azure-native
dependencies
minor
2.28.0 -> 2.35.0

pulumi-azuread
dependencies
patch
5.47.0 -> 5.47.2

pulumi-cloudflare
dependencies
minor
5.19.0 -> 5.24.1

pulumi-datadog
dependencies
minor
4.24.0 -> 4.27.0

pulumi-kubernetes
dependencies
minor
4.7.1 -> 4.9.1

pulumi-postgresql
dependencies
minor
3.10.1 -> 3.11.0

pulumi-tls
dependencies
patch
5.0.1 -> 5.0.2

pulumi_random
dependencies
minor
4.15.1 -> 4.16.0

wheel (changelog)
dependencies
minor
^0.42.0 -> ^0.43.0

Release Notes

Azure/azure-sdk-for-python (azure-core)
v1.30.1
1.30.1 (2024-02-29)
Other Changes

Accept float for retry_after header.  #34203

psf/black (black)
v24.3.0
Compare Source
Highlights
This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
CVE-2024-21503.
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
Stable style

Don't move comments along with delimiters, which could cause crashes (#4248)
Strengthen AST safety check to catch more unsafe changes to strings. Previous versions
of Black would incorrectly format the contents of certain unusual f-strings containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented. (#4270)
Fix a bug where line-ranges exceeding the last code line would not work as expected
(#4273)

Performance

Fix catastrophic performance on docstrings that contain large numbers of leading tab
characters. This fixes
CVE-2024-21503.
(#4278)

Documentation

Note what happens when --check is used with --quiet (#4236)

v24.2.0
Compare Source
Stable style

Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)

Preview style

Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).

Configuration

Fix issue where Black would ignore input files in the presence of symlinks (#4222)
Black now ignores pyproject.toml that is missing a tool.black section when
discovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty [tool.black] to the previously discovered pyproject.toml
(#4204)

Output

Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast
module when performing equivalence checks (#4189)

Integrations

Add a JSONSchema and provide a validate-pyproject entry-point (#4181)

boto/boto3 (boto3)
v1.34.79
Compare Source
=======

api-change:quicksight: [botocore] Adding IAMIdentityCenterInstanceArn parameter to CreateAccountSubscription
api-change:resource-groups: [botocore] Added a new QueryErrorCode RESOURCE_TYPE_NOT_SUPPORTED that is returned by the ListGroupResources operation if the group query contains unsupported resource types.
api-change:verifiedpermissions: [botocore] Adding BatchIsAuthorizedWithToken API which supports multiple authorization requests against a PolicyStore given a bearer token.

v1.34.78
Compare Source
=======

api-change:b2bi: [botocore] Adding support for X12 5010 HIPAA EDI version and associated transaction sets.
api-change:cleanrooms: [botocore] Feature: New schemaStatusDetails field to the existing Schema object that displays a status on Schema API responses to show whether a schema is queryable or not. New BatchGetSchemaAnalysisRule API to retrieve multiple schemaAnalysisRules using a single API call.
api-change:ec2: [botocore] Amazon EC2 G6 instances powered by NVIDIA L4 Tensor Core GPUs can be used for a wide range of graphics-intensive and machine learning use cases. Gr6 instances also feature NVIDIA L4 GPUs and can be used for graphics workloads with higher memory requirements.
api-change:emr-containers: [botocore] This release adds support for integration with EKS AccessEntry APIs to enable automatic Cluster Access for EMR on EKS.
api-change:ivs: [botocore] API update to include an SRT ingest endpoint and passphrase for all channels.
api-change:verifiedpermissions: [botocore] Adds GroupConfiguration field to Identity Source API's

v1.34.77
Compare Source
=======

api-change:cleanroomsml: [botocore] The release includes a public SDK for AWS Clean Rooms ML APIs, making them globally available to developers worldwide.
api-change:cloudformation: [botocore] This release would return a new field - PolicyAction in cloudformation's existed DescribeChangeSetResponse, showing actions we are going to apply on the physical resource (e.g., Delete, Retain) according to the user's template
api-change:datazone: [botocore] This release supports the feature of dataQuality to enrich asset with dataQualityResult in Amazon DataZone.
api-change:docdb: [botocore] This release adds Global Cluster Switchover capability which enables you to change your global cluster's primary AWS Region, the region that serves writes, while preserving the replication between all regions in the global cluster.
api-change:groundstation: [botocore] This release adds visibilityStartTime and visibilityEndTime to DescribeContact and ListContacts responses.
api-change:lambda: [botocore] Add Ruby 3.3 (ruby3.3) support to AWS Lambda
api-change:medialive: [botocore] Cmaf Ingest outputs are now supported in Media Live
api-change:medical-imaging: [botocore] SearchImageSets API now supports following enhancements - Additional support for searching on UpdatedAt and SeriesInstanceUID - Support for searching existing filters between dates/times - Support for sorting the search result by Ascending/Descending - Additional parameters returned in the response
api-change:transfer: [botocore] Add ability to specify Security Policies for SFTP Connectors

v1.34.76
Compare Source
=======

api-change:ecs: [botocore] Documentation only update for Amazon ECS.
api-change:glue: [botocore] Adding View related fields to responses of read-only Table APIs.
api-change:ivschat: [botocore] Doc-only update. Changed "Resources" to "Key Concepts" in docs and updated text.
api-change:rolesanywhere: [botocore] This release increases the limit on the roleArns request parameter for the *Profile APIs that support it. This parameter can now take up to 250 role ARNs.
api-change:securityhub: [botocore] Documentation updates for AWS Security Hub

v1.34.75
Compare Source
=======

api-change:cloudwatch: [botocore] This release adds support for CloudWatch Anomaly Detection on cross-account metrics. SingleMetricAnomalyDetector and MetricDataQuery inputs to Anomaly Detection APIs now take an optional AccountId field.
api-change:datazone: [botocore] This release supports the feature of AI recommendations for descriptions to enrich the business data catalog in Amazon DataZone.
api-change:deadline: [botocore] AWS Deadline Cloud is a new fully managed service that helps customers set up, deploy, and scale rendering projects in minutes, so they can improve the efficiency of their rendering pipelines and take on more projects.
api-change:emr: [botocore] This release fixes a broken link in the documentation.
api-change:lightsail: [botocore] This release adds support to upgrade the TLS version of the distribution.

v1.34.74
Compare Source
=======

api-change:b2bi: [botocore] Supporting new EDI X12 transaction sets for X12 versions 4010, 4030, and 5010.
api-change:codebuild: [botocore] Add new fleet status code for Reserved Capacity.
api-change:codeconnections: [botocore] Duplicating the CodeStar Connections service into the new, rebranded AWS CodeConnections service.
api-change:internetmonitor: [botocore] This release adds support to allow customers to track cross account monitors through ListMonitor, GetMonitor, ListHealthEvents, GetHealthEvent, StartQuery APIs.
api-change:iotwireless: [botocore] Add support for retrieving key historical and live metrics for LoRaWAN devices and gateways
api-change:marketplace-catalog: [botocore] This release enhances the ListEntities API to support ResaleAuthorizationId filter and sort for OfferEntity in the request and the addition of a ResaleAuthorizationId field in the response of OfferSummary.
api-change:neptune-graph: [botocore] Add the new API Start-Import-Task for Amazon Neptune Analytics.
api-change:sagemaker: [botocore] This release adds support for custom images for the CodeEditor App on SageMaker Studio

v1.34.73
Compare Source
=======

api-change:codecatalyst: [botocore] This release adds support for understanding pending changes to subscriptions by including two new response parameters for the GetSubscription API for Amazon CodeCatalyst.
api-change:compute-optimizer: [botocore] This release enables AWS Compute Optimizer to analyze and generate recommendations with a new customization preference, Memory Utilization.
api-change:ec2: [botocore] Amazon EC2 C7gd, M7gd and R7gd metal instances with up to 3.8 TB of local NVMe-based SSD block-level storage have up to 45% improved real-time NVMe storage performance than comparable Graviton2-based instances.
api-change:eks: [botocore] Add multiple customer error code to handle customer caused failure when managing EKS node groups
api-change:guardduty: [botocore] Add EC2 support for GuardDuty Runtime Monitoring auto management.
api-change:neptune-graph: [botocore] Update ImportTaskCancelled waiter to evaluate task state correctly and minor documentation changes.
api-change:oam: [botocore] This release adds support for sharing AWS::InternetMonitor::Monitor resources.
api-change:quicksight: [botocore] Amazon QuickSight: Adds support for setting up VPC Endpoint restrictions for accessing QuickSight Website.

v1.34.72
Compare Source
=======

api-change:batch: [botocore] This feature allows AWS Batch to support configuration of imagePullSecrets and allowPrivilegeEscalation for jobs running on EKS
api-change:bedrock-agent: [botocore] This changes introduces metadata documents statistics and also updates the documentation for bedrock agent.
api-change:bedrock-agent-runtime: [botocore] This release introduces filtering support on Retrieve and RetrieveAndGenerate APIs.
api-change:elasticache: [botocore] Added minimum capacity to  Amazon ElastiCache Serverless. This feature allows customer to ensure minimum capacity even without current load
api-change:secretsmanager: [botocore] Documentation updates for Secrets Manager

v1.34.71
Compare Source
=======

api-change:bedrock-agent-runtime: [botocore] This release adds support to customize prompts sent through the RetrieveAndGenerate API in Agents for Amazon Bedrock.
api-change:ce: [botocore] Adds support for backfill of cost allocation tags, with new StartCostAllocationTagBackfill and ListCostAllocationTagBackfillHistory API.
api-change:ec2: [botocore] Documentation updates for Elastic Compute Cloud (EC2).
api-change:ecs: [botocore] This is a documentation update for Amazon ECS.
api-change:finspace: [botocore] Add new operation delete-kx-cluster-node and add status parameter to list-kx-cluster-node operation.

v1.34.70
Compare Source
=======

api-change:codebuild: [botocore] Supporting GitLab and GitLab Self Managed as source types in AWS CodeBuild.
api-change:ec2: [botocore] Added support for ModifyInstanceMetadataDefaults and GetInstanceMetadataDefaults to set Instance Metadata Service account defaults
api-change:ecs: [botocore] Documentation only update for Amazon ECS.
api-change:emr-containers: [botocore] This release increases the number of supported job template parameters from 20 to 100.
api-change:globalaccelerator: [botocore] AWS Global Accelerator now supports cross-account sharing for bring your own IP addresses.
api-change:medialive: [botocore] Exposing TileMedia H265 options
api-change:sagemaker: [botocore] Introduced support for the following new instance types on SageMaker Studio for JupyterLab and CodeEditor applications: m6i, m6id, m7i, c6i, c6id, c7i, r6i, r6id, r7i, and p5

v1.34.69
Compare Source
=======

api-change:firehose: [botocore] Updates Amazon Firehose documentation for message regarding Enforcing Tags IAM Policy.
api-change:kendra: [botocore] Documentation update, March 2024. Corrects some docs for Amazon Kendra.
api-change:pricing: [botocore] Add ResourceNotFoundException to ListPriceLists and GetPriceListFileUrl APIs
api-change:rolesanywhere: [botocore] This release relaxes constraints on the durationSeconds request parameter for the *Profile APIs that support it. This parameter can now take on values that go up to 43200.
api-change:securityhub: [botocore] Added new resource detail object to ASFF, including resource for LastKnownExploitAt

v1.34.68
Compare Source
=======

api-change:codeartifact: [botocore] This release adds Package groups to CodeArtifact so you can more conveniently configure package origin controls for multiple packages.

v1.34.67
Compare Source
=======

api-change:accessanalyzer: [botocore] This release adds support for policy validation and external access findings for DynamoDB tables and streams. IAM Access Analyzer helps you author functional and secure resource-based policies and identify cross-account access. Updated service API, documentation, and paginators.
api-change:codebuild: [botocore] This release adds support for new webhook events (RELEASED and PRERELEASED) and filter types (TAG_NAME and RELEASE_NAME).
api-change:connect: [botocore] This release updates the *InstanceStorageConfig APIs to support a new ResourceType: REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS. Use this resource type to enable streaming for real-time analysis of chat contacts and to associate a Kinesis stream where real-time analysis chat segments will be published.
api-change:dynamodb: [botocore] This release introduces 3 new APIs ('GetResourcePolicy', 'PutResourcePolicy' and 'DeleteResourcePolicy') and modifies the existing 'CreateTable' API for the resource-based policy support. It also modifies several APIs to accept a 'TableArn' for the 'TableName' parameter.
api-change:managedblockchain-query: [botocore] AMB Query: update GetTransaction to include transactionId as input
api-change:savingsplans: [botocore] Introducing the Savings Plans Return feature enabling customers to return their Savings Plans within 7 days of purchase.

v1.34.66
Compare Source
=======

api-change:cloudformation: [botocore] Documentation update, March 2024. Corrects some formatting.
api-change:ec2: [botocore] This release adds the new DescribeMacHosts API operation for getting information about EC2 Mac Dedicated Hosts. Users can now see the latest macOS versions that their underlying Apple Mac can support without needing to be updated.
api-change:finspace: [botocore] Adding new attributes readWrite and onDemand to dataview models for Database Maintenance operations.
api-change:logs: [botocore] Update LogSamples field in Anomaly model to be a list of LogEvent
api-change:managedblockchain-query: [botocore] Introduces a new API for Amazon Managed Blockchain Query: ListFilteredTransactionEvents.

v1.34.65
Compare Source
=======

api-change:cloudformation: [botocore] This release supports for a new API ListStackSetAutoDeploymentTargets, which provider auto-deployment configuration as a describable resource. Customers can now view the specific combinations of regions and OUs that are being auto-deployed.
api-change:kms: [botocore] Adds the ability to use the default policy name by omitting the policyName parameter in calls to PutKeyPolicy and GetKeyPolicy
api-change:mediatailor: [botocore] This release adds support to allow customers to show different content within a channel depending on metadata associated with the viewer.
api-change:rds: [botocore] This release launches the ModifyIntegration API and support for data filtering for zero-ETL Integrations.
api-change:s3: [botocore] Fix two issues with response root node names.
api-change:timestream-query: [botocore] Documentation updates, March 2024

v1.34.64
Compare Source
=======

api-change:backup: [botocore] This release introduces a boolean attribute ManagedByAWSBackupOnly as part of ListRecoveryPointsByResource api to filter the recovery points based on ownership. This attribute can be used to filter out the recovery points protected by AWSBackup.
api-change:codebuild: [botocore] AWS CodeBuild now supports overflow behavior on Reserved Capacity.
api-change:connect: [botocore] This release adds Hierarchy based Access Control fields to Security Profile public APIs and adds support for UserAttributeFilter to SearchUsers API.
api-change:ec2: [botocore] Add media accelerator and neuron device information on the describe instance types API.
api-change:kinesisanalyticsv2: [botocore] Support for Flink 1.18 in Managed Service for Apache Flink
api-change:s3: [botocore] Documentation updates for Amazon S3.
api-change:sagemaker: [botocore] Adds m6i, m6id, m7i, c6i, c6id, c7i, r6i r6id, r7i, p5 instance type support to Sagemaker Notebook Instances and miscellaneous wording fixes for previous Sagemaker documentation.
api-change:workspaces-thin-client: [botocore] Removed unused parameter kmsKeyArn from UpdateDeviceRequest

v1.34.63
Compare Source
=======

api-change:amplify: [botocore] Documentation updates for Amplify. Identifies the APIs available only to apps created using Amplify Gen 1.
api-change:ec2-instance-connect: [botocore] This release includes a new exception type "SerialConsoleSessionUnsupportedException" for SendSerialConsoleSSHPublicKey API.
api-change:elbv2: [botocore] This release allows you to configure HTTP client keep-alive duration for communication between clients and Application Load Balancers.
api-change:fis: [botocore] This release adds support for previewing target resources before running a FIS experiment. It also adds resource ARNs for actions, experiments, and experiment templates to API responses.
api-change:iot-roborunner: [botocore] The iot-roborunner client has been removed following the deprecation of the service.
api-change:rds: [botocore] Updates Amazon RDS documentation for EBCDIC collation for RDS for Db2.
api-change:secretsmanager: [botocore] Doc only update for Secrets Manager
api-change:timestream-influxdb: [botocore] This is the initial SDK release for Amazon Timestream for InfluxDB. Amazon Timestream for InfluxDB is a new time-series database engine that makes it easy for application developers and DevOps teams to run InfluxDB databases on AWS for near real-time time-series applications using open source APIs.
enhancement:urllib3: [botocore] Added support for urllib3 2.2.1+ in Python 3.10+

v1.34.62
Compare Source
=======

api-change:ivs-realtime: [botocore] adds support for multiple new composition layout configuration options (grid, pip)
api-change:kinesisanalyticsv2: [botocore] Support new RuntimeEnvironmentUpdate parameter within UpdateApplication API allowing callers to change the Flink version upon which their application runs.
api-change:s3: [botocore] This release makes the default option for S3 on Outposts request signing to use the SigV4A algorithm when using AWS Common Runtime (CRT).

v1.34.61
Compare Source
=======

api-change:cloudformation: [botocore] CloudFormation documentation update for March, 2024
api-change:connect: [botocore] This release increases MaxResults limit to 500 in request for SearchUsers, SearchQueues and SearchRoutingProfiles APIs of Amazon Connect.
api-change:ec2: [botocore] Documentation updates for Amazon EC2.
api-change:kafka: [botocore] Added support for specifying the starting position of topic replication in MSK-Replicator.
api-change:ssm: [botocore] March 2024 doc-only updates for Systems Manager.

v1.34.60
Compare Source
=======

api-change:codestar-connections: [botocore] Added a sync configuration enum to disable publishing of deployment status to source providers (PublishDeploymentStatus). Added a sync configuration enum (TriggerStackUpdateOn) to only trigger changes.
api-change:elasticache: [botocore] Revisions to API text that are now to be carried over to SDK text, changing usages of "SFO" in code examples to "us-west-1", and some other typos.
api-change:mediapackagev2: [botocore] This release enables customers to safely update their MediaPackage v2 channel groups, channels and origin endpoints using entity tags.

v1.34.59
Compare Source
=======

api-change:batch: [botocore] This release adds JobStateTimeLimitActions setting to the Job Queue API. It allows you to configure an action Batch can take for a blocking job in front of the queue after the defined period of time. The new parameter applies for ECS, EKS, and FARGATE Job Queues.
api-change:bedrock-agent-runtime: [botocore] Documentation update for Bedrock Runtime Agent
api-change:cloudtrail: [botocore] Added exceptions to CreateTrail, DescribeTrails, and ListImportFailures APIs.
api-change:codebuild: [botocore] This release adds support for a new webhook event: PULL_REQUEST_CLOSED.
api-change:cognito-idp: [botocore] Add ConcurrentModificationException to SetUserPoolMfaConfig
api-change:guardduty: [botocore] Add RDS Provisioned and Serverless Usage types
api-change:transfer: [botocore] Added DES_EDE3_CBC to the list of supported encryption algorithms for messages sent with an AS2 connector.

v1.34.58
Compare Source
=======

api-change:appconfig: [botocore] AWS AppConfig now supports dynamic parameters, which enhance the functionality of AppConfig Extensions by allowing you to provide parameter values to your Extensions at the time you deploy your configuration.
api-change:ec2: [botocore] This release adds an optional parameter to RegisterImage and CopyImage APIs to support tagging AMIs at the time of creation.
api-change:grafana: [botocore] Adds support for the new GrafanaToken as part of the Amazon Managed Grafana Enterprise plugins upgrade to associate your AWS account with a Grafana Labs account.
api-change:lambda: [botocore] Documentation updates for AWS Lambda
api-change:payment-cryptography-data: [botocore] AWS Payment Cryptography EMV Decrypt Feature  Release
api-change:rds: [botocore] Updates Amazon RDS documentation for io2 storage for Multi-AZ DB clusters
api-change:snowball: [botocore] Doc-only update for change to EKS-Anywhere ordering.
api-change:wafv2: [botocore] You can increase the max request body inspection size for some regional resources. The size setting is in the web ACL association config. Also, the AWSManagedRulesBotControlRuleSet EnableMachineLearning setting now takes a Boolean instead of a primitive boolean type, for languages like Java.
api-change:workspaces: [botocore] Added note for user decoupling

v1.34.57
Compare Source
=======

api-change:dynamodb: [botocore] Doc only updates for DynamoDB documentation
api-change:imagebuilder: [botocore] Add PENDING status to Lifecycle Execution resource status. Add StartTime and EndTime to ListLifecycleExecutionResource API response.
api-change:mwaa: [botocore] Amazon MWAA adds support for Apache Airflow v2.8.1.
api-change:rds: [botocore] Updated the input of CreateDBCluster and ModifyDBCluster to support setting CA certificates. Updated the output of DescribeDBCluster to show current CA certificate setting value.
api-change:redshift: [botocore] Update for documentation only. Covers port ranges, definition updates for data sharing, and definition updates to cluster-snapshot documentation.
api-change:verifiedpermissions: [botocore] Deprecating details in favor of configuration for GetIdentitySource and ListIdentitySources APIs.

v1.34.56
Compare Source
=======

api-change:apigateway: [botocore] Documentation updates for Amazon API Gateway
api-change:chatbot: [botocore] Minor update to documentation.
api-change:organizations: [botocore] This release contains an endpoint addition
api-change:sesv2: [botocore] Adds support for providing custom headers within SendEmail and SendBulkEmail for SESv2.

v1.34.55
Compare Source
=======

api-change:cloudformation: [botocore] Add DetailedStatus field to DescribeStackEvents and DescribeStacks APIs
api-change:fsx: [botocore] Added support for creating FSx for NetApp ONTAP file systems with up to 12 HA pairs, delivering up to 72 GB/s of read throughput and 12 GB/s of write throughput.
api-change:organizations: [botocore] Documentation update for AWS Organizations

v1.34.54
Compare Source
=======

api-change:accessanalyzer: [botocore] Fixed a typo in description field.
api-change:autoscaling: [botocore] With this release, Amazon EC2 Auto Scaling groups, EC2 Fleet, and Spot Fleet improve the default price protection behavior of attribute-based instance type selection of Spot Instances, to consistently select from a wide range of instance types.
api-change:ec2: [botocore] With this release, Amazon EC2 Auto Scaling groups, EC2 Fleet, and Spot Fleet improve the default price protection behavior of attribute-based instance type selection of Spot Instances, to consistently select from a wide range of instance types.

v1.34.53
Compare Source
=======

api-change:docdb-elastic: [botocore] Launched Elastic Clusters Readable Secondaries, Start/Stop, Configurable Shard Instance count, Automatic Backups and Snapshot Copying
api-change:eks: [botocore] Added support for new AL2023 AMIs to the supported AMITypes.
api-change:lexv2-models: [botocore] This release makes AMAZON.QnAIntent generally available in Amazon Lex. This generative AI feature leverages large language models available through Amazon Bedrock to automate frequently asked questions (FAQ) experience for end-users.
api-change:migrationhuborchestrator: [botocore] Adds new CreateTemplate, UpdateTemplate and DeleteTemplate APIs.
api-change:quicksight: [botocore] TooltipTarget for Combo chart visuals; ColumnConfiguration limit increase to 2000; Documentation Update
api-change:sagemaker: [botocore] Adds support for ModelDataSource in Model Packages to support unzipped models. Adds support to specify SourceUri for models which allows registration of models without mandating a container for hosting. Using SourceUri, customers can decouple the model from hosting information during registration.
api-change:securitylake: [botocore] Add capability to update the Data Lake's MetaStoreManager Role in order to perform required data lake updates to use Iceberg table format in their data lake or update the role for any other reason.

v1.34.52
Compare Source
=======

api-change:batch: [botocore] This release adds Batch support for configuration of multicontainer jobs in ECS, Fargate, and EKS. This support is available for all types of jobs, including both array jobs and multi-node parallel jobs.
api-change:bedrock-agent-runtime: [botocore] This release adds support to override search strategy performed by the Retrieve and RetrieveAndGenerate APIs for Amazon Bedrock Agents
api-change:ce: [botocore] This release introduces the new API 'GetApproximateUsageRecords', which retrieves estimated usage records for hourly granularity or resource-level data at daily granularity.
api-change:ec2: [botocore] This release increases the range of MaxResults for GetNetworkInsightsAccessScopeAnalysisFindings to 1,000.
api-change:iot: [botocore] This release reduces the maximum results returned per query invocation from 500 to 100 for the SearchIndex API. This change has no implications as long as the API is invoked until the nextToken is NULL.
api-change:wafv2: [botocore] AWS WAF now supports configurable time windows for request aggregation with rate-based rules. Customers can now select time windows of 1 minute, 2 minutes or 10 minutes, in addition to the previously supported 5 minutes.

v1.34.51
Compare Source
=======

api-change:amplifyuibuilder: [botocore] We have added the ability to tag resources after they are created

v1.34.50
Compare Source
=======

api-change:apigateway: [botocore] Documentation updates for Amazon API Gateway.
api-change:drs: [botocore] Added volume status to DescribeSourceServer replicated volumes.
api-change:kafkaconnect: [botocore] Adds support for tagging, with new TagResource, UntagResource and ListTagsForResource APIs to manage tags and updates to existing APIs to allow tag on create. This release also adds support for the new DeleteWorkerConfiguration API.
api-change:rds: [botocore] This release adds support for gp3 data volumes for Multi-AZ DB Clusters.

v1.34.49
Compare Source
=======

api-change:appsync: [botocore] Documentation only updates for AppSync
api-change:qldb: [botocore] Clarify possible values for KmsKeyArn and EncryptionDescription.
api-change:rds: [botocore] Add pattern and length based validations for DBShardGroupIdentifier
api-change:rum: [botocore] Doc-only update for new RUM metrics that were added

v1.34.48
Compare Source
=======

api-change:internetmonitor: [botocore] This release adds IPv4 prefixes to health events
api-change:kinesisvideo: [botocore] Increasing NextToken parameter length restriction for List APIs from 512 to 1024.

v1.34.47
Compare Source
=======

api-change:iotevents: [botocore] Increase the maximum length of descriptions for Inputs, Detector Models, and Alarm Models
api-change:lookoutequipment: [botocore] This release adds a field exposing model quality to read APIs for models. It also adds a model quality field to the API response when creating an inference scheduler.
api-change:medialive: [botocore] MediaLive now supports the ability to restart pipelines in a running channel.
api-change:ssm: [botocore] This release adds support for sharing Systems Manager parameters with other AWS accounts.

v1.34.46
Compare Source
=======

api-change:dynamodb: [botocore] Publishing quick fix for doc only update.
api-change:firehose: [botocore] This release updates a few Firehose related APIs.
api-change:lambda: [botocore] Add .NET 8 (dotnet8) Runtime support to AWS Lambda.

v1.34.45
Compare Source
=======

api-change:amplify: [botocore] This release contains API changes that enable users to configure their Amplify domains with their own custom SSL/TLS certificate.
api-change:chatbot: [botocore] This release adds support for AWS Chatbot. You can now monitor, operate, and troubleshoot your AWS resources with interactive ChatOps using the AWS SDK.
api-change:config: [botocore] Documentation updates for the AWS Config CLI
api-change:ivs: [botocore] Changed description for latencyMode in Create/UpdateChannel and Channel/ChannelSummary.
api-change:keyspaces: [botocore] Documentation updates for Amazon Keyspaces
api-change:mediatailor: [botocore] MediaTailor: marking #AdBreak.OffsetMillis as required.

v1.34.44
Compare Source
=======

api-change:connectparticipant: [botocore] Doc only update to GetTranscript API reference guide to inform users about presence of events in the chat transcript.
api-change:emr: [botocore] adds fine grained control over Unhealthy Node Replacement to Amazon ElasticMapReduce
api-change:firehose: [botocore] This release adds support for Data Message Extraction for decompressed CloudWatch logs, and to use a custom file extension or time zone for S3 destinations.
api-change:lambda: [botocore] Documentation-only updates for Lambda to clarify a number of existing actions and properties.
api-change:rds: [botocore] Doc only update for a valid option in DB parameter group
api-change:sns: [botocore] This release marks phone numbers as sensitive inputs.

v1.34.43
Compare Source
=======

api-change:artifact: [botocore] This is the initial SDK release for AWS Artifact. AWS Artifact provides on-demand access to compliance and third-party compliance reports. This release includes access to List and Get reports, along with their metadata. This release also includes access to AWS Artifact notifications settings.
api-change:codepipeline: [botocore] Add ability to override timeout on action level.
api-change:detective: [botocore] Doc only updates for content enhancement
api-change:guardduty: [botocore] Marked fields IpAddressV4, PrivateIpAddress, Email as Sensitive.
api-change:healthlake: [botocore] This release adds a new response parameter, JobProgressReport, to the DescribeFHIRImportJob and ListFHIRImportJobs API operation. JobProgressReport provides details on the progress of the import job on the server.
api-change:opensearch: [botocore] Adds additional supported instance types.
api-change:polly: [botocore] Amazon Polly adds 1 new voice - Burcu (tr-TR)
api-change:sagemaker: [botocore] This release adds a new API UpdateClusterSoftware for SageMaker HyperPod. This API allows users to patch HyperPod clusters with latest platform softwares.
api-change:secretsmanager: [botocore] Doc only update for Secrets Manager
api-change:endpoint-rules: [botocore] Update endpoint-rules client to latest version

v1.34.42
Compare Source
=======

api-change:controltower: [botocore] Adds support for new Baseline and EnabledBaseline APIs for automating multi-account governance.
api-change:lookoutequipment: [botocore] This feature allows customers to see pointwise model diagnostics results for their models.
api-change:qbusiness: [botocore] This release adds the metadata-boosting feature, which allows customers to easily fine-tune the underlying ranking of retrieved RAG passages in order to optimize Q&A answer relevance. It also adds new feedback reasons for the PutFeedback API.

v1.34.41
Compare Source
=======

bugfix:ContainerProvider: [botocore] Properly refreshes token from file from EKS in ContainerProvider
api-change:lightsail: [botocore] This release adds support to upgrade the major version of a database.
api-change:marketplace-catalog: [botocore] AWS Marketplace Catalog API now supports setting intent on requests
api-change:resource-explorer-2: [botocore] Resource Explorer now uses newly supported IPv4 'amazonaws.com' endpoints by default.
api-change:securitylake: [botocore] Documentation updates for Security Lake
api-change:endpoint-rules: [botocore] Update endpoint-rules client to latest version

v1.34.40
Compare Source
=======

api-change:appsync: [botocore] Adds support for new options on GraphqlAPIs, Resolvers and  Data Sources for emitting Amazon CloudWatch metrics for enhanced monitoring of AppSync APIs.
api-change:cloudwatch: [botocore] Update cloudwatch client to latest version
api-change:neptune-graph: [botocore] Adding a new option "parameters" for data plane api ExecuteQuery to support running parameterized query via SDK.
api-change:route53domains: [botocore] This release adds bill contact support for RegisterDomain, TransferDomain, UpdateDomainContact and GetDomainDetail API.

v1.34.39
Compare Source
=======

api-change:amp: [botocore] Overall documentation updates.
api-change:batch: [botocore] This feature allows Batch to support configuration of repository credentials for jobs running on ECS
api-change:braket: [botocore] Creating a job will result in DeviceOfflineException when using an offline device, and DeviceRetiredException when using a retired device.
api-change:cost-optimization-hub: [botocore] Adding includeMemberAccounts field to the response of ListEnrollmentStatuses API.
api-change:ecs: [botocore] Documentation only update for Amazon ECS.
api-change:iot: [botocore] This release allows AWS IoT Core users to enable Online Certificate Status Protocol (OCSP) Stapling for TLS X.509 Server Certificates when creating and updating AWS IoT Domain Configurations with Custom Domain.
api-change:pricing: [botocore] Add Throttling Exception to all APIs.

v1.34.38
Compare Source
=======

api-change:codepipeline: [botocore] Add ability to execute pipelines with new parallel & queued execution modes and add support for triggers with filtering on branches and file paths.
api-change:quicksight: [botocore] General Interactions for Visuals; Waterfall Chart Color Configuration; Documentation Update
api-change:workspaces: [botocore] This release introduces User-Decoupling feature. This feature allows Workspaces Core customers to provision workspaces without providing users. CreateWorkspaces and DescribeWorkspaces APIs will now take a new optional parameter "WorkspaceName".

v1.34.37
Compare Source
=======

api-change:datasync: [botocore] AWS DataSync now supports manifests for specifying files or objects to transfer.
api-change:lexv2-models: [botocore] Update lexv2-models client to latest version
api-change:redshift: [botocore] LisRecommendations API to fetch Amazon Redshift Advisor recommendations.

v1.34.36
Compare Source
=======

api-change:appsync: [botocore] Support for environment variables in AppSync GraphQL APIs
api-change:ecs: [botocore] This release is a documentation only update to address customer issues.
api-change:es: [botocore] This release adds clear visibility to the customers on the changes that they make on the domain.
api-change:logs: [botocore] This release adds a new field, logGroupArn, to the response of the logs:DescribeLogGroups action.
api-change:opensearch: [botocore] This release adds clear visibility to the customers on the changes that they make on the domain.
api-change:wafv2: [botocore] You can now delete an API key that you've created for use with your CAPTCHA JavaScript integration API.

nat-n/poethepoet (poethepoet)
v0.25.0
Compare Source
Enhancements

Make args work as expected on ref tasks by @nat-n in https://github.com/nat-n/poethepoet/pull/201

Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.24.4...v0.25.0

pre-commit/action (pre-commit/action)
v3.0.1<EMAIL_ADDRESS>Compare Source
Misc

Update actions/cache to v4

#190 PR by @SukiCZ.
#189 issue by @bakerkj.

pulumi/pulumi (pulumi)
v3.112.0
Compare Source
Features

[docs] Implement constructor syntax examples for every resource in typescript, python, csharp and go
#15624

[docs] Implement YAML constructor syntax examples in the docs
#15791

[engine] Send output values with property dependency information to transform functions
#15637

[engine] Add a --continue-on-error flag to pulumi destroy
#15727

[sdk/go] Make property.Map keyed by string not MapKey
#15767

[sdk/nodejs] Make function serialization work with typescript 4 and 5
#15761

[sdk/python] Improve the error message when depends_on is passed objects of the wrong type
#15737

Bug Fixes

[auto/{go,python}] Make sure to read complete lines before trying to deserialize them as engine events
#15778
#15798

[auto/{go,python}] Use the full path when running pulumi from a custom CLI install
#15802

[cli/plugin] Fix installing local language plugins on Windows
#15715

[engine] Don't delete stack outputs on failed deployments
#15754

[engine] Fix a panic when updating provider version in a run using --target
#15716

[engine] Handle that Assets & Archives can be returned from providers without content.
#15736

[engine] Fix the engine trying to delete a protected resource caught in a replace chain
#15776

[sdkgen/docs] Add missing newline for Coming soon!
#15783

[programgen/dotnet] Fix generated code for a list of resources used in resource option DependsOn
#15773

[programgen/{dotnet,go}] Fixes emitted code for object expressions assigned to properties of type Any
#15770

[sdk/go] Fix lookup of plugin and program dependencies when using Go workspaces
#15743

[sdk/nodejs] Export automation.tag.TagMap type
#15774

[sdk/python] Wait only for pending outputs in the Python SDK, not all pending asyncio tasks
#15744

Miscellaneous

[sdk/nodejs] Reorganize function serialization tests
#15753

[sdk/nodejs] Move mockpackage tests to closure integration tests
#15757

v3.111.1
Compare Source
Bug Fixes

[cli/display] Fix superfluous newlines being written during updates

[programgen/{dotnet,go,nodejs,python}] Fix enum resolution from types of the form union[string, enum]
#15696

v3.111.0
Compare Source
Features

[auto/go] Support remote deployment executor image
#15697

Bug Fixes

[engine] Test and fix the engine filling in property dependencies to provider constructs

[sdkgen/go] Ensure package generation for Go doesn't panic when encountering overly nested arrays or maps of primitive types
#15680

v3.110.0
Compare Source
Features

[cli] Make "pulumi dn" an alias for "pulumi destroy"
#15650

[yaml] Update yaml to v1.6.0
#15661

[sdk/python] Add experimental support to the Python SDK for the new transforms system
#15376

Bug Fixes

[cli/state] Add --yes to state upgrade
#15648

[programgen/{dotnet,go,python}] Fix panic when generating programs for MLC packages where they include type references to external packages
#15605

[programgen/go] Fix optional primitive values being derefrenced
#15592

[sdk/go] Await output properties from Construct/Call before closing the Context
#15611

[sdk/nodejs] Fix codepaths computation when working dir is nested relative to package.json
#15601

[sdk/nodejs] Replace glob with fdir to avoid an indirect dependency on inflight
#15617

[sdkgen/python] Make replace-on-changes values camelCased not kebab_cased
#15666

v3.109.0
Compare Source
Features

[auto/{go,nodejs,python}] Add support for suppress progress and suppress outputs parameters in the Automation API
#15596

[pkg] Make schema.NewPluginLoader respect PULUMI_DEBUG_PROVIDERS, which enables Pulumi YAML programs to work correctly with this feature
#15526

[sdk/dotnet] Update dotnet language host to 3.60.0
#15609

[sdk/nodejs] Add experimental support to the NodeJS SDK for the new transforms system.
#15532

[sdk/python] Add support for asynchronous invokes via a new invoke_async function
#15602

[sdkgen/dotnet] Support for non-overlay components in codegen for pulumi-kubernetes provider
#15490

Bug Fixes

[cli] Fix a panic when the secrets provider is missing from the deployment snapshot
#15599

[backend/service] Make decrypt/encrypt network calls retryable to help work around network hiccups
#15600

[cli/new] Strip credentials and query strings from template URLs saved to project
#15586

[engine] Fix an issue where snapshots could become invalid when doing a targeted up
#15476

[engine] Downgrade remediate policy violations to mandatory

[pkg/testing] Make ProgramTest use a temporary PULUMI_HOME for each test
#15568

[sdkgen/dotnet] Codegen fix for resources without constant input properties
#15488

[sdk/nodejs] Properly capture node:crypto and global.crypto in node 19+
#15492

[sdk/python] Fix determining plugins for old packages in the Python language host
#15576

v3.108.1
Compare Source
Bug Fixes

[sdk/nodejs] Move @types/glob to dev dependencies
[#15544](http

Configuration
📅 Schedule: Branch creation - "before 4am" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: poetry.lock
Updating dependencies
Resolving dependencies...

Creating virtualenv infra-thunder in /tmp/renovate/repos/github/missingcharacter/infra-thunder/.venv

Because infra-thunder depends on pulumi (3.112.0) which depends on protobuf (>=4.21,<5.0), protobuf is required.
So, because infra-thunder depends on protobuf (^5.0.0), version solving failed.


1.1.0-pre5 generates problematic Perl scripts on OS X.

I'm not entirely comfortable working with Perl so please forgive any glaring ignorance here. The Configure script from 1.0.2 contains:
$perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl")

Which by default (i.e. without PERL set in the env, with only the system perl installed) on OS X generates scripts (c_rehash, tsget, etc) with the hashbang #!/usr/bin/perl as expected.
Something similar enough was present in the 1.1.0 Configure script until https://github.com/openssl/openssl/commit/5902821d81ced5e7c5db972e4b569848500940f7, when it was modified a bit. Since that point running ./Configure on OS X reflects an unprefixed perl command (PERL          =perl) which seems to be passed onto the Perl scripts:
~> cat c_rehash
#!perl

# WARNING: do not edit!
# Generated by Makefile from tools/c_rehash.in
...
[snip]

Which when executed causes this error:
Can't open perl script "
# WARNING: do not edit!
# Generated by Makefile from too": No such file or directory

It works fine if you execute perl c_rehash, but I don't know if that change was intentional? I couldn't find anything documented saying you'd have to call OpenSSL Perl scripts with perl every time from this release.
The generated configdata.pm file for that build can be found here.
If I revert https://github.com/openssl/openssl/commit/5902821d81ced5e7c5db972e4b569848500940f7 things go back to working against the system Perl on OS X, with ./Configure confirming PERL          =/usr/bin/perl and the c_rehash script containing the expected hashbang again.
This problem seems somehow related to the system Perl. If I brew install perl and then re-run the OpenSSL build process it correctly detects it with the full path:
PERL          =/usr/local/Cellar/perl/5.24.0_1/bin/perl

reflected in c_rehash which functions as-expected again with the hashbang #!/usr/local/Cellar/perl/5.24.0_1/bin/perl.
If it's helpful:
uname -prsv
Darwin 15.6.0 Darwin Kernel Version 15.6.0: Wed Jun  1 11:10:40 PDT 2016; root:xnu-3248.60.4~4/RELEASE_X86_64 i386

/usr/bin/perl --version
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

/usr/local/Cellar/perl/5.24.0_1/bin/perl --version
This is perl 5, version 24, subversion 0 (v5.24.0) built for darwin-thread-multi-2level

You know, you're quite correct.  I just had a look at the perlvar manual, and it does offer much more secure examples to do this.  I'll get back with a PR

#1201

Can confirm #1201 fixes the problem for me locally against a vanilla system OpenSSL. Configure Perl declaration & script hashbang both as-expected.

I would argue that binding CA.pl to perl executable used at configure and compile time is not necessarily right thing to do. I mean why does execution-time environment have to be same as compile-time one? It's common place that it's not. Question should be if CA.pl actually has same strict requirement on perl as Configure, and if it doesn't (I can't see that it does except for use warnings), then it is better off with #!/usr/bin/env perl instead of #!{- $config{perl} -}.
This is not argument against #1201, but against introducing unnecessary dependencies between compile and execution time.

I have no issues with having #!/usr/bin/env perl in CA.pl, c_rehash or tsget...  arguments have gone back and forth about this, and I'll admit that I've totally lost track at this point.
That being said, it's possible to configure like this as well:
PERL='/usr/bin/env perl' ./config

PERL='/usr/bin/env perl' ./config

Right, and the reason for why people wanted that is exactly my point. People who wanted it to work were those who produced packages and they are acutely aware of the fact that execution-time environment is not compile-time one, nor does it have to be. Question is if we recognize that by adhering to #!/usr/bin/env perl when appropriate or do we rely on "underground" to figure out the trick?

I've made this discussion into a separate issue, #1202, as it seems off topic here.

I believe that the solution in #1282 fixes this issue, so closing.  Should there be more problems, please open a new issue.


Refused to display 'linkedin Authorization URL' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

I am getting this error when It trying to get the token silently. What this error mean. Is Linkedin doesn't support prompt=none or I need to make any other changes for my URL.
I am facing the same issue with Amazon too. But Google Auth and Facebook just working fine.
If you want me to provide more details I can give you.

linked in doesn't allow you to use the authorization endpoint in an iframe.

Thank you for clarifications, Is there any alternative way to make that work?

use a popup or navigate the main window

I will try that

To make popup or navigate main window work we need to catch token expiring event handler and manaully call signinpopup or signinRedirect right?

Yes.


Spiral bends

Describe the bug
The function gdsfactory.components.spiral has a bend parameter that only accepts a function with a radius and a cross-section parameters.
Providing another bend from somewhere else (e.g. another function, or an external gds) cannot be done without screwing the spiral layout.
To Reproduce
Create another bend with a different radius of the cross-section you provide.
Example
import gdsfactory as gf

gf.components.spiral(
    cross_section="strip",
    bend=gf.get_component("bend_euler", radius=50),
).show()

Expected behavior
The spiral adapts to the new bend
Suggested fix
The radius for the straight length calculation is done from the cross-section itself
    b = gf.get_component(bend, cross_section=cross_section)
    radius = xs.radius

Proposal:
Calculate the "radius" from the bend ports itself, assuming that:

the bend has two ports named "o1" and "o2".
it is a 90 deg bend

    cross_section_bends = cross_section_bends or cross_section

    if cross_section_bends is None:
        b = gf.get_component(bend)
    else:
        b = gf.get_component(bend, cross_section=cross_section_bends)
    radius = abs(b.ports["o1"].dx - b.ports["o2"].dx)  # Assuming a 90 deg bend
    # radius = xs.radius

Here I introduced another parameter, but it may be not necessary.
This method allows you to define also tapers on the bends and still have a working spiral (remove the dependency on the radius).
Environment (please complete the following information):

[x] I have reviewed the documentation, discussions and issues and found no relevant solution.

[x] I understand that this is an open-source project, and maintainers may not have the resources to address every issue. I am prepared to contribute by fixing the issue myself or hiring someone to do so, if needed, and accept that the issue may not be resolved otherwise.

[x] I am using the latest version of GDSFactory, with Python 3.10, 3.11, or 3.12.
                              Modules

┌────────────┬────────────────────────────────┬───────────────────────────────┐
│    Package │ version                        │                          Path │
├────────────┼────────────────────────────────┼───────────────────────────────┤
│     python │ 3.11.7 | packaged by Anaconda, │ C:\ProgramData\Anaconda3\pyt… │
│            │ Inc. | (main, Dec 15 2023,     │                               │
│            │ 18:05:47) [MSC v.1916 64 bit   │                               │
│            │ (AMD64)]                       │                               │
│ gdsfactory │ 8.17.0                         │ C:\ProgramData\Anaconda3\Lib… │
│   gplugins │ 1.0.2                          │ ['C:\ProgramData\Anaconda3… │
│        ray │ not installed                  │                               │
│    femwell │ 0.1.11                         │ ['C:\ProgramData\Anaconda3… │
│     devsim │ 2.8.2                          │ ['C:\ProgramData\Anaconda3… │
│     tidy3d │ 2.7.0                          │ ['C:\ProgramData\Anaconda3… │
│       meep │ not installed                  │                               │
│       meow │ 0.9.0                          │ ['C:\ProgramData\Anaconda3… │
│     lumapi │ not installed                  │                               │
│        sax │ 0.13.1                         │ ['C:\ProgramData\Anaconda3… │
└────────────┴────────────────────────────────┴───────────────────────────────┘

thank you Manuel for reporting this and for the suggested fix,
i went with the port spacing as it's more robust
See
https://github.com/gdsfactory/gdsfactory/pull/3402


Unable to install v1.2.2 on macOS Sierra beta

Starting 'dotnet --info'
.NET Command Line Tools (1.0.0-preview2-003121)
Product Information:
Version:            1.0.0-preview2-003121
Commit SHA-1 hash:  1e9d529bc5
Runtime Environment:
OS Name:     Mac OS X
OS Version:  10.12
OS Platform: Darwin
RID:         osx.10.12-x64
Creating /Users/giorgiog/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
Telemetry is: Enabled
log  : Restoring packages for /Users/giorgiog/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json...
error: System.IO 4.1.0 provides a compile-time reference assembly for System.IO on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Globalization.Calendars 4.0.1 provides a compile-time reference assembly for System.Globalization.Calendars on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Globalization 4.0.11 provides a compile-time reference assembly for System.Globalization on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Diagnostics.Tracing 4.1.0 provides a compile-time reference assembly for System.Diagnostics.Tracing on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Diagnostics.Tools 4.0.1 provides a compile-time reference assembly for System.Diagnostics.Tools on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Diagnostics.Debug 4.0.11 provides a compile-time reference assembly for System.Diagnostics.Debug on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Console 4.0.0 provides a compile-time reference assembly for System.Console on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Collections 4.0.11 provides a compile-time reference assembly for System.Collections on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Diagnostics.Process 4.1.0 provides a compile-time reference assembly for System.Diagnostics.Process on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Net.Http 4.1.0 provides a compile-time reference assembly for System.Net.Http on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Security.Cryptography.Algorithms 4.2.0 provides a compile-time reference assembly for System.Security.Cryptography.Algorithms on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.IO.MemoryMappedFiles 4.0.0 provides a compile-time reference assembly for System.IO.MemoryMappedFiles on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: Microsoft.Win32.Primitives 4.0.1 provides a compile-time reference assembly for Microsoft.Win32.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.IO.Compression 4.1.0 provides a compile-time reference assembly for System.IO.Compression on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.IO.FileSystem 4.0.1 provides a compile-time reference assembly for System.IO.FileSystem on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Net.Primitives 4.0.11 provides a compile-time reference assembly for System.Net.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Net.Sockets 4.1.0 provides a compile-time reference assembly for System.Net.Sockets on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Reflection 4.1.0 provides a compile-time reference assembly for System.Reflection on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Reflection.Extensions 4.0.1 provides a compile-time reference assembly for System.Reflection.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Reflection.Primitives 4.0.1 provides a compile-time reference assembly for System.Reflection.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Resources.ResourceManager 4.0.1 provides a compile-time reference assembly for System.Resources.ResourceManager on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Runtime 4.1.0 provides a compile-time reference assembly for System.Runtime on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Runtime.Extensions 4.1.0 provides a compile-time reference assembly for System.Runtime.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Runtime.Handles 4.0.1 provides a compile-time reference assembly for System.Runtime.Handles on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Runtime.InteropServices 4.1.0 provides a compile-time reference assembly for System.Runtime.InteropServices on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Runtime.InteropServices.RuntimeInformation 4.0.0 provides a compile-time reference assembly for System.Runtime.InteropServices.RuntimeInformation on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Security.Cryptography.Encoding 4.0.0 provides a compile-time reference assembly for System.Security.Cryptography.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Security.Cryptography.X509Certificates 4.1.0 provides a compile-time reference assembly for System.Security.Cryptography.X509Certificates on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Text.Encoding 4.0.11 provides a compile-time reference assembly for System.Text.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Text.Encoding.Extensions 4.0.11 provides a compile-time reference assembly for System.Text.Encoding.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Threading.Tasks 4.0.11 provides a compile-time reference assembly for System.Threading.Tasks on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: System.Threading.Timer 4.0.1 provides a compile-time reference assembly for System.Threading.Timer on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
error: One or more packages are incompatible with .NETCoreApp,Version=v1.0 (osx.10.12-x64).
log  : Writing lock file to disk. Path: /Users/giorgiog/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.lock.json
log  : /Users/giorgiog/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
log  : Restore failed in 1169ms.
Error:
Error: Errors in /Users/giorgiog/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
System.IO 4.1.0 provides a compile-time reference assembly for System.IO on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Globalization.Calendars 4.0.1 provides a compile-time reference assembly for System.Globalization.Calendars on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Globalization 4.0.11 provides a compile-time reference assembly for System.Globalization on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Diagnostics.Tracing 4.1.0 provides a compile-time reference assembly for System.Diagnostics.Tracing on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Diagnostics.Tools 4.0.1 provides a compile-time reference assembly for System.Diagnostics.Tools on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Diagnostics.Debug 4.0.11 provides a compile-time reference assembly for System.Diagnostics.Debug on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Console 4.0.0 provides a compile-time reference assembly for System.Console on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Collections 4.0.11 provides a compile-time reference assembly for System.Collections on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Diagnostics.Process 4.1.0 provides a compile-time reference assembly for System.Diagnostics.Process on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Net.Http 4.1.0 provides a compile-time reference assembly for System.Net.Http on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Security.Cryptography.Algorithms 4.2.0 provides a compile-time reference assembly for System.Security.Cryptography.Algorithms on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.IO.MemoryMappedFiles 4.0.0 provides a compile-time reference assembly for System.IO.MemoryMappedFiles on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
Microsoft.Win32.Primitives 4.0.1 provides a compile-time reference assembly for Microsoft.Win32.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.IO.Compression 4.1.0 provides a compile-time reference assembly for System.IO.Compression on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.IO.FileSystem 4.0.1 provides a compile-time reference assembly for System.IO.FileSystem on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Net.Primitives 4.0.11 provides a compile-time reference assembly for System.Net.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
Error:     System.Net.Sockets 4.1.0 provides a compile-time reference assembly for System.Net.Sockets on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Reflection 4.1.0 provides a compile-time reference assembly for System.Reflection on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Reflection.Extensions 4.0.1 provides a compile-time reference assembly for System.Reflection.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Reflection.Primitives 4.0.1 provides a compile-time reference assembly for System.Reflection.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Resources.ResourceManager 4.0.1 provides a compile-time reference assembly for System.Resources.ResourceManager on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Runtime 4.1.0 provides a compile-time reference assembly for System.Runtime on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Runtime.Extensions 4.1.0 provides a compile-time reference assembly for System.Runtime.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Runtime.Handles 4.0.1 provides a compile-time reference assembly for System.Runtime.Handles on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Runtime.InteropServices 4.1.0 provides a compile-time reference assembly for System.Runtime.InteropServices on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Runtime.InteropServices.RuntimeInformation 4.0.0 provides a compile-time reference assembly for System.Runtime.InteropServices.RuntimeInformation on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Security.Cryptography.Encoding 4.0.0 provides a compile-time reference assembly for System.Security.Cryptography.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Security.Cryptography.X509Certificates 4.1.0 provides a compile-time reference assembly for System.Security.Cryptography.X509Certificates on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Text.Encoding 4.0.11 provides a compile-time reference assembly for System.Text.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Text.Encoding.Extensions 4.0.11 provides a compile-time reference assembly for System.Text.Encoding.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Threading.Tasks 4.0.11 provides a compile-time reference assembly for System.Threading.Tasks on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
System.Threading.Timer 4.0.1 provides a compile-time reference assembly for System.Threading.Timer on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with osx.10.12-x64.
One or more packages are incompatible with .NETCoreApp,Version=v1.0 (osx.10.12-x64).
dotnet exited with error code 1

@GiorgioG I believe this has been fixed and should be available in release 1.3. I don't have an exact date for this release yet but it is coming up.

See #492