Error accessing top level port of VHDL DUT trying adder example using GHDL

When trying the VHDL adder example with GHDL, each tests fails when the first access to a top level port occurs.
TMs-Air:tests torsten$ make SIM=ghdl TOPLEVEL_LANG=vhdl
/Applications/Xcode.app/Contents/Developer/usr/bin/make results.xml
cd sim_build && /usr/local/bin/ghdl -a /Users/torsten/Projects/Git/cocotb/examples/adder/tests/../hdl/adder.vhdl && /usr/local/bin/ghdl -e adder
cd sim_build; \
	PYTHONPATH=/Users/torsten/Projects/Git/cocotb/build/libs/x86_64:/Users/torsten/Projects/Git/cocotb:/Users/torsten/Projects/Git/cocotb/examples/adder/tests:/Users/torsten/Projects/Git/cocotb/examples/adder/tests/../model: LD_LIBRARY_PATH=/Users/torsten/Projects/Git/cocotb/build/libs/x86_64::/System/Library/Frameworks/Python.framework/Versions/2.7/lib:/System/Library/Frameworks/Python.framework/Versions/2.7/lib:/System/Library/Frameworks/Python.framework/Versions/2.7/lib:/System/Library/Frameworks/Python.framework/Versions/2.7/lib MODULE=test_adder \
        TESTCASE= TOPLEVEL=adder TOPLEVEL_LANG=vhdl \
	/usr/local/bin/ghdl -r adder --vpi=/Users/torsten/Projects/Git/cocotb/build/libs/x86_64/libvpi.so
loading VPI module '/Users/torsten/Projects/Git/cocotb/build/libs/x86_64/libvpi.so'
     -.--ns INFO     cocotb.gpi                                GpiCommon.cpp:91   in gpi_print_registered_impl       VPI registered
VPI module loaded!
  0.00ns INFO     cocotb.gpi                                  gpi_embed.c:248  in embed_sim_init                  Running on GHDL version 0.1
  0.00ns INFO     cocotb.gpi                                  gpi_embed.c:249  in embed_sim_init                  Python interpreter initialised and cocotb loaded!
  0.00ns INFO     cocotb                                      __init__.py:115  in _initialise_testbench           Running tests with Cocotb v1.0 from /Users/torsten/Projects/Git/cocotb
  0.00ns INFO     cocotb                                      __init__.py:131  in _initialise_testbench           Seeding Python random module with<PHONE_NUMBER>
  0.00ns INFO     cocotb.regression                         regression.py:161  in initialise                      Found test test_adder.adder_basic_test
  0.00ns INFO     cocotb.regression                         regression.py:161  in initialise                      Found test test_adder.adder_randomised_test
  0.00ns INFO     cocotb.regression                         regression.py:262  in execute                         Running test 1/2: adder_basic_test
  0.00ns INFO     ..tine.adder_basic_test.0x101bc7a90       decorators.py:189  in send                            Starting test: "adder_basic_test"
                                                                                Description: Test for 5 + 10
  2.00ns ERROR    ..tine.adder_basic_test.0x101bc7a90           result.py:51   in raise_error                     Send raised exception: adder contains no object named A
                                                                                File "/Users/torsten/Projects/Git/cocotb/cocotb/decorators.py", line 194, in send
                                                                                return self._coro.send(value)
                                                                                File "/Users/torsten/Projects/Git/cocotb/examples/adder/tests/test_adder.py", line 16, in adder_basic_test
                                                                                dut.A = A
                                                                                File "/Users/torsten/Projects/Git/cocotb/cocotb/handle.py", line 239, in __setattr__
                                                                                return getattr(self, name)._setcachedvalue(value)
                                                                                File "/Users/torsten/Projects/Git/cocotb/cocotb/handle.py", line 261, in __getattr__
                                                                                raise AttributeError("%s contains no object named %s" % (self._name, name))

  3.00ns ERROR    cocotb.regression                         regression.py:246  in handle_result                   Test Failed: adder_basic_test (result was TestError)
  3.00ns INFO     cocotb.regression                         regression.py:262  in execute                         Running test 2/2: adder_randomised_test
  3.00ns INFO     ..adder_randomised_test.0x101bc7e90       decorators.py:189  in send                            Starting test: "adder_randomised_test"
                                                                                Description: Test for adding 2 random numbers multiple times
  5.00ns ERROR    ..adder_randomised_test.0x101bc7e90           result.py:51   in raise_error                     Send raised exception: Attempt to access A which isn't present in adder
                                                                                File "/Users/torsten/Projects/Git/cocotb/cocotb/decorators.py", line 194, in send
                                                                                return self._coro.send(value)
                                                                                File "/Users/torsten/Projects/Git/cocotb/examples/adder/tests/test_adder.py", line 37, in adder_randomised_test
                                                                                dut.A = A
                                                                                File "/Users/torsten/Projects/Git/cocotb/cocotb/handle.py", line 243, in __setattr__
                                                                                name, self._name))

  6.00ns ERROR    cocotb.regression                         regression.py:246  in handle_result                   Test Failed: adder_randomised_test (result was TestError)
  6.00ns ERROR    cocotb.regression                         regression.py:167  in tear_down                       Failed 2 out of 2 tests (0 skipped)
  6.00ns INFO     cocotb.regression                         regression.py:176  in tear_down                       Shutting down...

Running the example with icarus verilog works as expected. Maybe this is an GHDL specific error? The endian_swapper example works with both, icarus and GHDL.

When I'm printing the attributes of the dut object, I an empty _sub_handles attribute:
'_sub_handles': {}
For endian_swapper, I get all DUT ports as ModifiableObjects in the _sub_handles attribute:
'_sub_handles': {'stream_out_empty': ModifiableObject(endian_swapper_vhdl.stream_out_empty), 'stream_out_valid': ModifiableObject(endian_swapper_vhdl.stream_out_valid), 'csr_readdatavalid': ModifiableObject(endian_swapper_vhdl.csr_readdatavalid), 'stream_in_data': ModifiableObject(endian_swapper_vhdl.stream_in_data), 'csr_write': ModifiableObject(endian_swapper_vhdl.csr_write), 'csr_read': ModifiableObject(endian_swapper_vhdl.csr_read), 'stream_in_startofpacket': ModifiableObject(endian_swapper_vhdl.stream_in_startofpacket), 'clk': ModifiableObject(endian_swapper_vhdl.clk), 'stream_in_valid': ModifiableObject(endian_swapper_vhdl.stream_in_valid), 'stream_in_empty': ModifiableObject(endian_swapper_vhdl.stream_in_empty), 'csr_address': ModifiableObject(endian_swapper_vhdl.csr_address), 'csr_readdata': ModifiableObject(endian_swapper_vhdl.csr_readdata), 'stream_in_ready': ModifiableObject(endian_swapper_vhdl.stream_in_ready), 'stream_out_data': ModifiableObject(endian_swapper_vhdl.stream_out_data), 'stream_out_startofpacket': ModifiableObject(endian_swapper_vhdl.stream_out_startofpacket), 'csr_waitrequest': ModifiableObject(endian_swapper_vhdl.csr_waitrequest), 'stream_out_endofpacket': ModifiableObject(endian_swapper_vhdl.stream_out_endofpacket), 'stream_in_endofpacket': ModifiableObject(endian_swapper_vhdl.stream_in_endofpacket), 'byteswapping': ModifiableObject(endian_swapper_vhdl.byteswapping), 'stream_out_ready': ModifiableObject(endian_swapper_vhdl.stream_out_ready), 'reset_n': ModifiableObject(endian_swapper_vhdl.reset_n), 'csr_writedata': ModifiableObject(endian_swapper_vhdl.csr_writedata)}

Not sure if this is a bug in GHDL or in cocotb, but uppercase signal names in the Python testbench do not work.
If you change the signals A, B, and X to lowercase, this example will work, even if the signals are still uppercase in the HDL.

Also tagging @tgingold

Yeah, you are right :-) With lowercase port names in the test bench, it works with GHDL. But not with icarus. So, you can't use the same testbench for icarus & GHDL at the moment. For me, the problem seems to be like on the GHDL side, isn't it?

Yes, using a case insensitive string compare fixes the issue.

I think we can close this issue.


fix: only filter endpoints by protocol of service port

Description:

Testing done:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Has documentation corresponding to this change been updated in the fsm-docs repo (if applicable)?

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (1e4c2de) 48.45% compared to head (6202005) 48.45%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           release/v1.2     #120   +/-   ##
=============================================
  Coverage         48.45%   48.45%
=============================================
  Files               194      194
  Lines             14628    14628
=============================================
  Hits               7088     7088
  Misses             7496     7496
  Partials             44       44

Flag
Coverage Δ

unittests
48.45% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


support chaining again

I redesigned it multiple time, so source code is not organized.
Especially, because LazyAssertion and matchers are mostly written when lazy evaluation was not possible, chaining is not supported currently.
Matcher must not expect to be implemented on value to assert. (to support chaining)
For example, instead of
trait PartialEqMust<To>: PartialEq<To> {}
impl<To, V>PartialEqMust<To> for V where V: PartialEq<To> {}

below should be done
trait PartialEqMust<V, To> where V: PartialEq<To> {}

// for direct use
impl<V, To> PartialEqMust<V, To> for V where V:PartialEq<To>{}

// chaining
impl<V, To> PartialEqMust<V, To> for Assertion<V> where V:PartialEq<To>{}

V stands for value.

Deprecated syntax


refresh-mcollective-metadata creates superfluous emails for spurious facter errors

Some facter modules can cause temporary errors with output like
From<EMAIL_ADDRESS>(Cron Daemon)
To<EMAIL_ADDRESS>Subject: Cron <root@bka-001-10> /usr/share/mcollective/plugins/refresh-mcollective-metadata
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <PATH=/opt/puppet/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib64/fluent/ruby/bin:/usr/lib/fluent/ruby/bin>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Message-Id<EMAIL_ADDRESS>Date: Mon, 27 Apr 2015 15:15:05 +0200

Device "veth767d43e4-9" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth767d43e4-9" does not exist.
Device "veth78e0975b-8" does not exist.
Device "veth78e0975b-8" does not exist.

shown for a single run.
This has been discussed in the past (e.g. https://projects.puppetlabs.com/issues/15035) but apparently seems to be unfixed in recent facter versions (in our case: 2.4.1-1puppetlabs1)
It would be great if the cronjob would be silenced by default (> /dev/null 2>&1)

@antafalos: ping

Done and done!


cargo test does not give any warning when the specific test case does not exist

Problem
If I run cargo test xxx when xxx does not exist. cargo does not give any warning but output a bunch of green output.
For example. I have a test case test_foo. Every time I change foo I run this test case by running cargo test test_foo. Then I change the name from test_foo to test_foo_ and forget to change the test command(For example, by using bash history). So every time I run cargo test I still got a bunch of green output which make me take the test as passed for granted, causing more confusion in the future.
Steps
cargo test xxx
xxx is a non-existing test case
Possible Solution(s)
Give warnings if the test case does not exist.
Notes
No response
Version

Thanks for the proposal.
This is a duplicate of https://github.com/rust-lang/cargo/issues/11875, and is not a thing Cargo can control at this moment.
https://github.com/rust-lang/testing-devex-team/issues/1 is an effort of providing a JSON output so that Cargo and other tools may have more chances to control how tests are executed.
Close in favor of aforementioned issues.


mixing touch and pointer breaks gestures

What does the pull request do?
Converts AvaloniaView in Avalonia.Web to use only pointer events for all mouse and touch. The current mixing of touch and pointer was breaking gesture tracking (the pointing device id was not the same) so things like scrolling would not work on mobile.
What is the current behavior?
Multiple pointer ids were generated for the same pointer.
What is the updated/expected behavior with this PR?
Same pointer id across all events
How was the solution implemented (if it's not obvious)?
Removed touch events, added compatible pointer events.
Added touch-action: none to container div css, this is needed to allow for continuous pointer movement with touch.

You can test this PR using the following package version. 0.10.999-cibuild0021044-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 0.10.999-cibuild0021047-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Feature request: Getting the bitrate of published tracks

Hello,
as we all know, no-one wants their traffic on LiveKit Cloud or their own server to be consumed by just a few users. To prevent that you can of course implement a bitrate limit on the client, but what if the user is able to modify the client like in an open-source project (that is hosted by the owner of the project)?
The problem
The app I'm currently working on is open-source and can be modified by anyone for that matter which means ,as stated before, that I do not have a way to limit the traffic a certain user consumes. A user could just be streaming at 4K 60FPS with a 20k bitrate and the server wouldn't prevent it from what I've seen.
The solution
From what I've been able to see there is currently no way to get the bitrate the client publishes on the server or to at least limit it by a certain constant in for example the permissions of the user. For that reason I would like to request a way to get the bitrate of published tracks on the LiveKit server. A (probably) easy solution is to notify the backend of the application by using the webhook system. There is already a webhook for when a track is being published, but the only thing you can retrieve from it is resolution and video quality (low, medium or high). It would be cool if there was a way to also get the bitrate. You could then check if the bitrate is higher than the limit you set in your application and then remove the participant by using the server SDK (or mute their track).

As discussed in Slack, WebRTC clients are free to publish at any bitrate (and that bitrate is dynamic). This doesn't fit very well as a webhook event.
It's possible to enforce this with the Go SDK, where a bot could watch the stream bitrate and act on that information.


VA Insurance Infrastructure Changes

[x] Create Terraform to generate SNS topic
[x] Create access policy for SNS topic to SQS queue
[ ] Attach SNS Topic to campaign phone numbers:

[ ] Staging: +12183220243
[ ] Production: +18148852937

Access Policy Template:
 {
      "Sid": "TEST-VANotify-10DLC-TwoWay",
      "Effect": "Allow",
      "Action": "sns:Subscribe",
      "Principal": {
        "AWS": "arn:aws-us-gov:iam::<Their SQS Account Number>:root"
      },
      "Resource": "arn:aws-us-gov:sns:us-gov-west-1:171875617347:TEST-10DLC-TwoWay"
    }

Terraform is completed.
For now, instead of the SQS arn that they create, I'm giving their AWS account permission to subscribe to events off the topic.
Update the "vainsurance_account_root_arn" in the corresponding environment tfvars file to generate the SNS topic and respective access policy for their AWS accounts access.
Once we confirm that things are working as expected, we can limit this to just the SQS ARN for the respective environment's queue.
The development.tfvars is currently giving access to my personal gov cloud AWS account.

@k-macmillan from the client:
LIPAS Account ID:<PHONE_NUMBER>65
LIPAS Account Alias:           vaec-lipas
Q’s:
Prod SQS-Q:          arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-prod-vanotify-sqs.fifo
Prod SQS-DLQ:     arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-prod-vanotify-DLQ.fifo
PPD SQS-Q:           arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-ppd-vanotify-sqs.fifo
PPD SQS-DLQ:      arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-ppd-vanotify-sqs-DLQ.fifo
QP’s:
Current AP for initial testing:
{
"Version": "2008-10-17",

"Id": "__{SQS_Q}",

"Statement": [

    {

        "Sid": "{SQS_Q}_Access_Policy_Anonymous",

        "Effect": "Allow",

        "Principal": "*",

        "Action": "SQS:*",

        "Resource": "{SQS-Q-ARN}"

    }

]

}

Hey team! Please add your planning poker estimate with Zenhub @trevor2718 @EvanParish @k-macmillan @ianperera @jessecanderson @cris-oddball @kalbfled

Updated VA Insurance queue ARNs:
PPD SQS-Q (standard):          arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-ppd-vanotify-sqs
PPD SQS-DLQ (standard):     arn:aws-us-gov:sqs:us-gov-west-1:049181275565:project-lipas-ppd-vanotify-sqs-dlq

Production work covered in https://app.zenhub.com/workspaces/va-notify-620d21369d810a00146ed9c8/issues/department-of-veterans-affairs/vanotify-infra/447


Procedures Folder is recreated on every "php artisan updatesql".

Both mysql Views and Procedures folders should be deletable by the developer. Ideally they should be created when the package is installed, and perhaps through a specific command that can be run manually, but right now they are recreated on each "php artisan updatesql" call, which is not ideal for automated deployments.

This is an annoyance for me too, I don't even have to run the updateSql command for it to re-appear each time.  Perhaps a config file change to prevent the /database/procedures/example-proc.sql being created every time the service provider is registered?

@dave-mills I've created a PR with the above changes but obviously can't push it up.  If you're interested let me know.  Thanks for developing the package in the first place!


config.fonts.fontdir: use runCommand instead of builderDefs

Motivation for this change
#4210

I think this is equivalent to the old version; please review.

Oh, wait, this is faulty.

I've pushed a fixed version, which I think is equivalent to the original (unlike the initial version of this patch). I'll verify that it indeed generates what looks like a sensible font directory & merge if nobody objects.


Straycat dev Indonesian localization

Addition

Adding feature to switch Language
Adding lang and Indonesia folder
Tidy up the documentation
Fully translated README to Indonesian

! IMPORTANT
File structure need to be adjusted to be succesfully implemented on other repo and/or branch, especially in line 24-30 in README file in both language.

LGTM, Thanks Bro!


feat: When there is no picture, the whole placeholder is clickable

Hi everyone,
When the placeholder says No image yet or No image in that language yet, the whole placeholder is now clickable

Hi @g123k!
We have the "select existing picture" and "take a new picture" buttons.
I don't know how obvious it should be for the user that "if you click on an empty image, that will be 'take a new picture' and not 'select existing picture'". I would prefer to add an explicit "Tap to take a new picture" label on the empty place holder. I'm not a big fan of the Positioned.fill, but that's another story.
Feel free to ignore my comments.

The Positioned.fill is required by the InkWell, otherwise it's invisible

The Positioned.fill is required by the InkWell, otherwise it's invisible

I meant something more standard, like inkWell(child: PlaceHolder()). And I did assume that it was invisible: the thick red border is not there, right? Other choice: a standard button with the placeholder as a child; that would be visible.

The Positioned.fill is required by the InkWell, otherwise it's invisible

I meant something more standard, like inkWell(child: PlaceHolder()). And I did assume that it was invisible: the thick red border is not there, right? Other choice: a standard button with the placeholder as a child; that would be visible.

Yes, indeed, the right border is not visible.
If you don't like Positioned.fill, it will be InkWell(child: SizedBox.expand()), not sure it's better

From a usability perspective, it's a large +
I'm going to merge. This one has annoyed me and other power contributors many times.


Grammarly Extension

Is your feature request related to a problem? Please describe.
I'm always frustrated when I make spelling, grammar, or style errors in my writing, especially in professional emails, documents, or social media posts. It can be time-consuming to manually proofread everything, and I often miss subtle mistakes. Additionally, I find it challenging to maintain a consistent writing tone and style across different types of content.
Describe the solution you'd like
I would like Grammarly to provide enhanced real-time suggestions that go beyond basic grammar and spelling corrections. This includes advanced style suggestions tailored to different types of writing, such as academic, professional, or casual. An improved context-aware correction feature would help ensure that the suggestions are more relevant. Additionally, I’d like to see better integration with various platforms and applications to make it easier to use Grammarly wherever I write.
Describe alternatives you've considered

Manual Proofreading: Manually proofreading and editing my content, which is time-consuming and prone to missing subtle errors.
Other Writing Tools: Using alternative tools like Microsoft Editor or Hemingway App, which offer some similar features but lack the comprehensive and user-friendly experience of Grammarly.
Built-in Spell Checkers: Relying on built-in spell checkers in word processors and email clients, which often miss more advanced grammar and style issues.

Additional context
Add any other context or screenshots about the feature request here.
Style Customization: Allow users to set custom style guides based on their specific needs, such as different tones for emails, reports, or creative writing.
Platform Integration: Ensure seamless integration with more platforms, such as additional email clients, content management systems, and collaboration tools.
Enhanced AI Suggestions: Use more advanced AI to provide context-aware suggestions that understand the nuances of different types of writing.
User Feedback Loop: Implement a feedback mechanism where users can report incorrect suggestions to help improve the AI's accuracy over time.
What problem is this feature trying to solve?
This feature aims to solve the problem of inconsistent and error-prone writing. It addresses the challenges of manually proofreading content, missing subtle mistakes, and maintaining a consistent writing tone and style. By providing advanced, context-aware suggestions and better integration with various writing platforms, Grammarly can help users produce high-quality writing more efficiently.
How do we know when the feature is complete?
The feature will be considered complete when:

Users receive advanced, context-aware suggestions for grammar, spelling, and style that are tailored to different types of writing.
Style customization options are available, allowing users to set specific guidelines based on their needs.
Grammarly is seamlessly integrated with a wider range of platforms and applications.
The AI suggestions are more accurate and relevant, with fewer incorrect recommendations.
Users report increased satisfaction with the quality and efficiency of their writing through feedback and reviews.

I would like to work on this issue , please assign this to me.
@Sulagna-Dutta-Roy

@TheNikhilRaj Find more new extensions and raise a new issue as this is raised by me and assigned to me :)

@Dark-S8uL  suggest some extensions that i can raise it.

You shouldn't comment if the person is assigned. Check if any issue is assigned to someone like 10-20days and not received any PR then I will assign you.  @TheNikhilRaj

@Dark-S8uL are you still working on this?

@Sulagna-Dutta-Roy Yes


Switch between block elements and ASCII

It might be useful if users could choose whether to display the image as simple ASCII instead of box-drawing characters. This could be switched via a keyboard character, but also the initial state might be chosen via a CLI flag.
This could be accomplished by extending the RGBRune's behavior to include ASCII characters for alpha values (e.g.   for 0x0000 and @ for 0xFFFF), and making drawImage take a bool for whether it should be ASCII art or drawn with blocks.

Archiving


Add support for TalonDoc

This PR adds support for generating documentation with TalonDoc.

d68cc92377bc7a4680cfcd8522233c9f1125af03: adds configuration for TalonDoc and Sphinx
637304795706e509f5dd04f519111dd526f739df: adds automatically generated documentation

This PR is meant as a starting point. There's a number of considerations:

Do we want to write Markdown or reStructureText?
The PR currently configures Sphinx to use Markdown.
Do we want to include the generated documentation?
The PR currently includes the generated documentation as a starting point.
Do we want to publish the documentation to GitHub Pages or ReadTheDocs?
The PR currently publishes to GitHub Pages. Either requires intervention from someone with administrative privileges.

The PR uses the version 1.0.0 release candidate of TalonDoc, because I anticipate we'll discover some issues while preparing  to merge this PR.
For reference documentation for TalonDoc, see: https://wen.works/talondoc/

@AndreasArvidsson, @phillco and I discussed this briefly on the knausj grooming session today but didn't feel entirely qualified to review it fully.
We had a couple comments:

Since the .md files contain essentially no useful information, can they be generated somewhere else other than next to the .py/.talon files?
Is it possible to generate a textual rendering of the documentation instead? If we did want to have documentation "sidecar" files then at least having them be useful to read in a text editor would be great.

I also noted some rendering problems in Safari with https://wen.works/talondoc/ but guessing this may be an issue with one of the downstream tools you are using.
Thanks for doing this!

Since the generated .md files contain essentially no useful information, can they be generated somewhere else other than next to the .py/.talon files?

Yeah, absolutely. The same folder structure, but under docs/?

Is it possible to generate a textual rendering of the documentation in addition to the HTML version? If we did want to have documentation "sidecar" files then at least having them be useful to read in a text editor would be great.

TalonDoc supports all formats supported by Sphinx, and talondoc build is just a wrapper around sphinx-build -M html.
So TalonDoc can generate "HTML (including Windows HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, [and] plain text."
I have no reason to believe the other formats won't work, and you can build them by just calling sphinx-build directly.

I also noted some rendering problems in Safari with https://wen.works/talondoc/ but guessing this may be an issue with one of the downstream tools you are using.

That's on me. I need to debug my CSS, and to be entirely clean should probably move the support for fragmenting to a custom theme. However, this only shows up if you explicitly pass :width:.

I've changed my mind. Comitting all the generated files is an incredible amount of noise for very little benefit, so I've removed them. Instead, the CI generates these files, and publishes them to pages, and I will instead work on making the autogen output better. In the meantime, we can work on writing high quality docs for knausj_talon without the burden of all these generated files.

@knausj85 I think I need you to merge this, because it requires configuring Pages for the repository.

I was curious with the status of this PR. Is this paused for a technical/logistical reason? Seems like it could be quite useful and it seems to be all done. Just wasn't sure if I was overlooking something. Was planning to add some docs to one of my own repos and wasn't sure if this would be the preferred way.

While this PR was being prepared, the community repository adopted a novel Talon feature that isn't yet supported by TalonDoc. That's the current blocker.


Closes #3, closes #24; revise configuration management page

divide Configuration Management into 3 sub-pages: "Documentation", "Change Management", & "Version Control"
rename "Contribution guidelines" to "Contributing to Documentation"
and refine verbiage in "How to make documentation changes" and "How to make design changes"
add section on how to use the kanban board
update instructions on branch naming convention to include issue number
add note that Configuration Management pages are intended for internal use.
update project_repo to github.com/tetrabiodistributed/project-tetra in config.toml
readjust weights, explanations: 1, tutorials: 2, how-to-guides: 3, references: 4

Draft for scope of work for creating/changing hardware designs (was started as GitHub issue template). Looking for feedback from a documentation standpoint, need to get input from others on hardware team.
Hardware creation

Part/Assembly Name =
Part/Assembly Number =
Completion priority

[I/H/M/L/O]
I: Immediate, complete within 24 hours or less
H: High, complete within 24-72 hours
M: Medium, complete within 5-7 days
L: Low, complete within 1-2 weeks
O: Optional, no priority

Requirements & constraints

function(s)
manufacturability and planned material (specify primary)

FFF/FDM AM
SLA AM
SLS AM
CNC milling
Injection molding
Other plastic manufacturing (specify)
[Use Hardware Change to create secondary process designs]

limiting dimensions
accuracy/tolerances
etc.

List of related parts/hardware (if any)
+
Attach relevant documents

design sketch(es)
research publications
other reference materials
related parts/hardware documentation or info-links

Documentation requirements

design change history
review notes/history
exploded view drawing (assemblies)
mechanical drawing
etc.

Review process

primary reviewer =
secondary reviewer (fallback) =
date for first design review =
date(s) for follow up design review(s) =
requirements for submitting for review

completed design location =
all documentation complete (Y/N)
all document(s) location(s) =
design review(s) complete & approved for release (Y/N)
etc.

Deadline =

Hardware change

Part/Assembly Name =
Part/Assembly Number =
Requested/required change(s)
+
Reason for change(s)
+
Documentation requirements

design change history
review notes/history
exploded view drawing (assemblies)
mechanical drawing
etc.

Review process

primary reviewer =
secondary reviewer (fallback) =
date for first design review =
date(s) for follow up design review(s) =
requirements for submitting for review

completed design location =
all documentation complete (Y/N)
all document(s) location(s) =
design review(s) complete & approved for release (Y/N)
etc.

Deadline =

Draft for scope of work for creating/changing hardware designs (was started as GitHub issue template). Looking for feedback from a documentation standpoint, need to get input from others on hardware team.
Hardware creation
* Part/Assembly Name =

* Part/Assembly Number =

* Completion priority

  * [I/H/M/L/O]
  * I: Immediate, complete within 24 hours or less
  * H: High, complete within 24-72 hours
  * M: Medium, complete within 5-7 days
  * L: Low, complete within 1-2 weeks
  * O: Optional, no priority

* Requirements & constraints

  * function(s)
  * manufacturability and planned material _(specify primary)_

    * FFF/FDM AM
    * SLA AM
    * SLS AM
    * CNC milling
    * Injection molding
    * Other plastic manufacturing _(specify)_
      _[Use Hardware Change to create secondary process designs]_
  * limiting dimensions
  * accuracy/tolerances
  * etc.

* List of related parts/hardware _(if any)_
  +

* Attach relevant documents

  * design sketch(es)
  * research publications
  * other reference materials
  * related parts/hardware documentation or info-links

* Documentation requirements

  * design change history
  * review notes/history
  * exploded view drawing (assemblies)
  * mechanical drawing
  * etc.

* Review process

  * primary reviewer =
  * secondary reviewer _(fallback)_ =
  * date for first design review =
  * date(s) for follow up design review(s) =
  * requirements for submitting for review

    * completed design location =
    * all documentation complete **(Y/N)**
    * all document(s) location(s) =
    * design review(s) complete & approved for release **(Y/N)**
    * etc.

* Deadline =

Hardware change
* Part/Assembly Name =

* Part/Assembly Number =

* Requested/required change(s)
  +

* Reason for change(s)
  +

* Documentation requirements

  * design change history
  * review notes/history
  * exploded view drawing (assemblies)
  * mechanical drawing
  * etc.

* Review process

  * primary reviewer =
  * secondary reviewer (fallback) =
  * date for first design review =
  * date(s) for follow up design review(s) =
  * requirements for submitting for review

    * completed design location =
    * all documentation complete **(Y/N)**
    * all document(s) location(s) =
    * design review(s) complete & approved for release **(Y/N)**
    * etc.

* Deadline =

@Burhan-Q as far as content placement goes, I think this might be something we will need a table for in the References section for where this type of documentation should subside. Perhaps we need a dedicated issue for discussing templatization of that table.

Need to add blerb on need for physical inspection as part of hardware review, as per @jgrano's comment

@capsulecorplab looking thru the outline of design changes (from a hardware standpoint), I think will have to follow a slightly different workflow. It will be horribly time consuming to make a PR for each issue/design change. I'm not certain what the best means to address this would be, but maybe once files are ready to be pushed, we could create a new issue and tag the pertinent issues being addressed? That way we can bulk add all the files that are getting changed instead of one at a time. Definitely let me know if you have a more streamline idea of how this could be accomplished.
Additionally, should there be an information in this section regarding the review and approval process prior to submitting a PR? Again, this is purely from a hardware standpoint, since most of the reviews will need to happen outside of GitHub.

@capsulecorplab looking thru the outline of design changes (from a hardware standpoint), I think will have to follow a slightly different workflow. It will be horribly time consuming to make a PR for each issue/design change. I'm not certain what the best means to address this would be, but maybe once files are ready to be pushed, we could create a new issue and tag the pertinent issues being addressed? That way we can bulk add all the files that are getting changed instead of one at a time. Definitely let me know if you have a more streamline idea of how this could be accomplished.
Additionally, should there be an information in this section regarding the review and approval process prior to submitting a PR? Again, this is purely from a hardware standpoint, since most of the reviews will need to happen outside of GitHub.

Following up, if this process outline is for Documentation changes then the above is not relevant.

the change management page should have instructions for how to edit the website (in addition to kanban, documentation and design)

Change title in change management page from "How to make documentation changes" to "How to make changes to the website"
@Burhan-Q i would make PR for each milestone (instead of each issue/design change) and then assign all the relevant issues and there should be a template made for the PR requests that includes autopopulated info on review and approval process (including physical inspection checkbox or something). the autopopulation can be done like it was made for new Hardware issues.

Leave a note that these documentations pages are works in progress at the top of the page.


docs(README): uninstall instructions for debian/brew

We have inline instructions to install Etcher from package managers.
This commit extends them to quickly mention how to uninstall as well.
Fixes: https://github.com/resin-io/etcher/issues/1225
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

Unrelated to this PR, but something I've just spotted: looks strange that the Debian package is etcher-electron but the Brew package is etcher ?

The brew package was created by the community, so we didn't have a chance to discuss naming :(

I think we could do it, however what about waiting until the CLI is properly released, so we have something concrete to show them that we might have even more Etcher frontends in the future?


public: Add link editing view

This enables the user to update the target URL of an existing link, or to assign the link to a new owner. All of the major functionality of the application is now complete.

Coverage increased (+0.06%) to 98.274% when pulling bd0978ed42c7c74367acec2d620b346fe97ec9b5 on edit-link into 7326f4cf26e4517a38bff251be28ef7d5ebe3543 on master.

Coverage increased (+0.06%) to 98.274% when pulling bd0978ed42c7c74367acec2d620b346fe97ec9b5 on edit-link into 7326f4cf26e4517a38bff251be28ef7d5ebe3543 on master.

Coverage increased (+0.06%) to 98.275% when pulling 0dc32fa34a7132ab0a29b3682cfde2d7c0851e4b on edit-link into 7326f4cf26e4517a38bff251be28ef7d5ebe3543 on master.

Coverage increased (+0.06%) to 98.275% when pulling 0dc32fa34a7132ab0a29b3682cfde2d7c0851e4b on edit-link into 7326f4cf26e4517a38bff251be28ef7d5ebe3543 on master.


vllm version

Hey @uclaml and @yihedeng9,
I noticed that your setup tools depend on vllm. Given that vllm is still under rapid development, and considering your implementation incorporates the tensor_parallel_size parameter, it might be prudent to specify a particular version of vllm. Additionally, including ray in your setup tools could be beneficial, as vllm's multi-GPU inference relies on it. 🤔
Thanks for your attention!

Yeah. I also see a closed issue regarding vllm. It's a rapidly developing framework. It may be better to use it with caution. 😂

Hi, thank you for bringing the issue up! We will make an update on the setup file soon.


Jitsi doesn't start, message "Properties Editor"

I installed JITSI jitsi-2.10.5550-x64.msi on fresh legal Windows 8.1. After the installation, JITSI doesn't start, there's a message "Properties Editor

" and nothing else.

Can you please try build 5580 (or newer) and lets us know?

No feedback, closing.

Hi;
i have the same problem.
I tried other versions too

log_jitsi_v2.11.5633.txt
Hello,
my jitsi v2.11.5633
the same program error
details of the program execution in TXT
Help me please =\
OS: windows 7


Authentication Support

The following authentication methods are supported. Note, authentication (a.k.a "Trust") must be established for both the client/server. So the client/server may desire different levels of authentication. Again comments are desired.
None: No Authentication will occur. Connection is automatically mutually trusted based on something else like and IP address.
Trusted Private Key: The private key is trusted, not the contents of the certificate. This can be used to trust self-signed certificates since the identifying information of a self-signed certificate is meaningless.
Trusted Root Certificate + CNAME: If the certification is signed by a trusted root and has a valid CNAME, this establishes a trusted connection.
NTLM: Uses NTLM to trust the credentials.
Kerberos: Uses Kerberos to trust the connection.
LDAP: Uses LDAP for authentication.
APIKey: Uses a user generated API Key that is the same for both client/server. Some kind of Challenge/Response method will be employed here. It will also incorporate the public keys of all x.509 certificates to ensure that there is not a man-in-the-middle attack. Currently, I'm thinking using SCRAM, since it's relatively simple. SRP would be superior, but it's rather difficult to implement and isn't native to .NET.

You might consider adding OAuth2 to the APIKey section. This could add flexibility if you already have a trusted OAuth provider, or if you implement a in-product OAuth service such as IdentityServer4.


Update test credentials

Description
Addresses false positives in credential scanners

This PR does not seem like it will resolve false positives from credential scan tools


Non-consistent blue SQL keywords. Extra fluff in results shown.

Under the section "Fractional seconds" in the SQL example, both "millisecond" and "nanosecond" should be blue to be consistent.
Under the section "Examples":
In the 1st example SQL, there is an unneeded "*/".
In the 4th example SQL, the "SELECT TOP(1) DATEPART (year,'12/20/1974') FROM dbo.DimCustomer;" can be rewritten as "SELECT DATEPART(year,'12/20/1974');" as there are no columns used in the FROM clause. This would also make the comment "-- Uses AdventureWorks" unneeded.
Also, examples 3 & 5 do not need the "--------" above the result.
Thanks!

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

ID: 4d1c1cb1-feb7-d2d1-9b9f-6b3f8caff8d6
Version Independent ID: c6caa07c-fb64-31e9-ed4f-36e367dfbaeb
Content: DATEPART (Transact-SQL) - SQL Server
Content Source: docs/t-sql/functions/datepart-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @julieMSFT
Microsoft Alias: jrasnick

@Protiguous -- thank you for your keen eye.  I am looking into this article.

 I like to think that I'm helping.
Now.. How can I get paid to edit these pages myself? Haha! (hmm..)
If notifying your editors of these when I come across them is *not *annoying,
shall I keep sending in notifications?
On Wed, Jun 3, 2020 at 4:45 PM William Anton Rohm<EMAIL_ADDRESS>wrote:

@Protiguous https://github.com/Protiguous -- thank you for your keen
eye. I am looking into this article.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/sql-docs/issues/4906#issuecomment-638499940,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI3GVIELOXGQITR43CGSQGTRU3HCHANCNFSM4NRYC2WQ
.

@Protiguous -- you are welcome to send in anything you find!

@Protiguous When you're suggesting a simple change to the documentation,  it may be faster for you to submit the edit yourself via a Pull Request (PR). You can do so by following these steps:

Navigate to the page of interest
Select the "Edit" button at the top right of the page
Select the "Pencil" icon on the right
Modify the text within the text box in markdown format
Name your file change and copy the link to your Git Issue into the "extended description" box
Select "Propose file change"
Select "Create pull request" on the 'Comparing changes' page
Select "Create pull request" on the 'Open a pull request' page
Wait for an author to review and approve the change request - this can take a bit depending on the complexity

Doing so will allow authors to directly add your text to the documentation. This also displays your github image on the page of authors, and list you as a contributor to the documentation.
Thanks again for your submission!

@Protiguous -- I've tidied up the examples per your suggestions, except:

For the blue inconsistency, you have uncovered a possible bug in the SQL code formatter.
I think the 4th and 5th examples are designed to show more context.

Thank you for your feedback!


allow Box.decrypt to get passed a nonce parameter

Needed Box.decrypt to handle a nonce buffer.
also includes the Nan to fix https://github.com/paixaop/node-sodium/issues/124#issuecomment-345090082

Main use case is to encrypt and serialize a Box and then deserialize and decrypt it, this requires the original nonce
.
Also there is inconsistency with docs and method signature on Box.decrypt. 2nd param described as a nonce, but this is not on the method signature.
thx

@bdargan Can you please fix the conflicts?


PHPStan: minor simplification in the config file

coverage: 95.833%. remained the same
when pulling fd611e90b2aaa22e98a205e836251f1f2952b5ad on feature/phpstan-config-minor-simplification
into 91e1a1425d1985bb9d4d0eab3189fc9a0bf561f2 on 2.x.


Not working with Atom V1.7.3

It says, terminal-plus is not compatible with the newest version of Atom and the package fails to load. Are you going to update it?
Following:
terminal-plus 0.14.5

<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.
<EMAIL_ADDRESS>– Module version mismatch. Expected 47, got 46.

Incompatible package.

@amandeepmittal works fine for me on 1.7.3
I'm on Mac OSX 10.11.4

I am also using El Capitan OS X 10.11.4 but I recently updated Atom and now it fails to load.

Yeah works like a charm! Try uninstalling and re-installing it back?

Same happing to me after i updated to 1.7.3. Will try uninstalling and re-installing.

@pdsullivan I did, still the same error.

I met the same problem, too
On ubuntu Linux 14.04LTS

Atom 1.7.3
Linux Mint 17.2
After uninstalling and reinstalling did not fix the problem

Found a way to fix it. In my case a red bug appeared on the right down corner. Clicking on it showed that a package was outdated, just click recompile and reopen the app. In my case it worked

@robertosf92 thanks a lot. It solved!

@robertosf92 Excuse me ,what OS do you use?
I click the red bug and rebuild the terminal-plus
But it still doesn't work

After rebuilding it, you have to reload the Atom. Either the "Reload Atom" button will appear itself after building packages or you have to close it and then start it. I am using OS X 10.11

@cabao Ubuntu 16.04 sorry it took this long. It's as amandeepmittal said, reload Atom


fix(utils): multiple redos at once with proxyWithHistory

#323

It seems this code makes just 1 snapshot.

wow! thanks so much!!

eaa96e4 passes the tests. I'm not 100% sure if there are any other cases that this can't handle, but let's go with this for now.


options.suffix doesn't work for the first file

The options.suffix doesn't work for me. It modifies my original file and then creates another one with a suffix.
Running "bless:css" (bless) task
File static/default/bc/css/style.oldie1.css created.
File static/default/bc/css/style.css modified.

grunt.config('bless', {
    css: {
        options: {
            suffix: 'oldie',
            compress: true
        },
        files: [{
            expand: true,
            src: '<removed>',
            dest: '<removed>'
        }]
    }
});

Is it me doing something wrong here?

Thanks for the issue, but this is the correct behavior of options.suffix. If you want to write to a different file, change the destination.


responsive on multiple screensizes?

responsive on multiple screensizes?
Its breaking my responsive design, so maybe I am missing a responsive mode for this?
I cannot seem to get vimeo, youtube or scribd to behave responsively

Can someone give me a clue here, please, whats css is preventing it?
http://judicial-corruption-australia.tk/forumdisplay.php?fid=2

:-1:

@ollie007 Is this still an issue? If you indicate in the configuration stretching: "responsive" that should work

Closing this issue since no answer has been posted in more than 2 weeks. If you'd like to reopen this, let us know. Thanks!


Starscream.ErrorType.protocolError, message: "", code: 1011)

Hello, I'm getting Starscream.WSError(type: Starscream.ErrorType.protocolError, message: "", code: 1011)) when I try to send some data. it calls websocketDidConnect function first and then I try to send some text and I get this errror. Doesn't matter if I send a large message or just "hello"
I don't get this error everytime, I would say 30% of times.
Do you know what is happening? Any help would be appreciated! Thanks

According to the spec 1011 is:
1011 indicates that a server is terminating the connection because  it encountered an unexpected condition that prevented it from fulfilling the request.

I know that is pretty broad, but is unfortunately  the only info I can provide. I can say that isn't normal behavior so it might be something your WebSocket server doesn't like? Maybe it doesn't like or support a certain behavior? That would seem weird since Starscream is just a base RFC implementation though. Sorry I can't be more help than that, best of luck!


Unable to set Client host, httpx.ConnectError

Hi there!
I'm trying to run an instance of ollama Client and set the host. As shown in the documentation (https://github.com/ollama/ollama-python?tab=readme-ov-file#custom-client) I see the code should work, but prociding any host but the OLLAMA_HOST environment variable (or 11434 as default if OLLAMA_HOST does not exist), gives me
httpx.ConnectError: [Errno 111] Connection refused
I put the code of an interactive session:
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

client = Client(host='http://localhost:11435')
response = client.chat(model='llama3.1', messages=[
...   {
...     'role': 'user',
...     'content': 'Why is the sky blue?',
...   },
... ])

Traceback (most recent call last):
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 72, in map_httpcore_exceptions
    yield
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 236, in handle_request
    resp = self._pool.handle_request(req)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_sync/connection_pool.py", line 216, in handle_request
    raise exc from None
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_sync/connection_pool.py", line 196, in handle_request
    response = connection.handle_request(
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_sync/connection.py", line 99, in handle_request
    raise exc
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_sync/connection.py", line 76, in handle_request
    stream = self._connect(request)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_sync/connection.py", line 122, in _connect
    stream = self._network_backend.connect_tcp(**kwargs)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_backends/sync.py", line 205, in connect_tcp
    with map_exceptions(exc_map):
  File "/usr/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/bermudez/.local/lib/python3.10/site-packages/ollama/_client.py", line 236, in chat
    return self._request_stream(
  File "/home/bermudez/.local/lib/python3.10/site-packages/ollama/_client.py", line 99, in _request_stream
    return self._stream(*args, **kwargs) if stream else self._request(*args, **kwargs).json()
  File "/home/bermudez/.local/lib/python3.10/site-packages/ollama/_client.py", line 70, in _request
    response = self._client.request(method, url, **kwargs)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_client.py", line 837, in request
    return self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_client.py", line 926, in send
    response = self._send_handling_auth(
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_client.py", line 954, in _send_handling_auth
    response = self._send_handling_redirects(
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_client.py", line 991, in _send_handling_redirects
    response = self._send_single_request(request)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_client.py", line 1027, in _send_single_request
    response = transport.handle_request(request)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 235, in handle_request
    with map_httpcore_exceptions():
  File "/usr/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/bermudez/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 89, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: [Errno 111] Connection refused

After reading about ollama, I tried to change the OLLAMA_HOST env variable:

import os
print(os.environ.get('OLLAMA_HOST'))
None
os.environ['OLLAMA_HOST'] = "http://localhost:11435"
and same error again, which I kind of expected, since the ollama library should handle this via the host parameter for Client.

The same happens in a Windows machine, but in this case the error is a bit different:
Errno 10061 : No connection could be made because the target machine actively refused it

Same issue. In addition, when I run the script, it sometimes works and sometimes doesn't.

You need to check message "Ollama is running" in http://localhost:11434/. If you don't have this message, you need to open cmd and run the command ollama run "yourmodel"

I also meet the same issue.But I run ollama service in server side , when I curl http://my_server_ip:11434/ in my local machine, it can show "Ollama is running"

Same as me.
Maybe i need to try access via hostname.

Hey @tdimitch - this seems to be a connection issue between the deployed Ollama instance and the python code. Is this all running locally or is there a cloud-deployed instance?


Installation to specific folder/module dependent on folder structure.

Hi,
I am trying to build a simple Python/C++ project using scikit-build-core and pybind11. Let's say I want my Python package to be called myproject and I am trying to install it with a submodule binding built from some bindings to a C++ code exposing a CppClass. Specifically, I want to be able to run from myproject.binding import CppClass.
By using this example I managed to make this happen by having the following folder structure:
.
 ├── CMakeLists.txt
 ├── README.md
 ├── include
 │   └── CppClass.h
 ├── pyproject.toml
 ├── src
 │   └── myproject
 │       ├── __init__.py
 │       └── bindings
 │           └── binding.cpp
 └── test_script.py

And by using the following CMakeList.txt:
cmake_minimum_required(VERSION 3.15...3.26)

project(${SKBUILD_PROJECT_NAME}
        VERSION ${SKBUILD_PROJECT_VERSION}
        LANGUAGES CXX)

find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
find_package(pybind11 CONFIG REQUIRED)

python_add_library(binding MODULE src/${SKBUILD_PROJECT_NAME}/bindings/binding.cpp WITH_SOABI)

target_link_libraries(binding
        PRIVATE
            pybind11::headers)

target_include_directories(binding
        PUBLIC
            include)

target_compile_definitions(binding
        PRIVATE
            VERSION_INFO=${PROJECT_VERSION})

target_compile_features(binding PRIVATE cxx_std_20)

install(TARGETS binding LIBRARY DESTINATION myproject)

However, this folder tree is not great, as I want myproject to look like a standard Python package with other pure Python modules. So I'd like myproject folder to be in the root folder, something like this:
.
├── CMakeLists.txt
├── README.md
├── include
│   └── CppClass.h
├── pyproject.toml
├── myproject
│   ├── __init__.py
│   └── bindings
│       └── binding.cpp
└── test_script.py

with the path in the CMakeLists.txt python_add_library command adapted accordingly (but install command left untouched).
Unfortunately, this doesn't work! Installation seems to run without any issue, but when I try to import binding from myproject, I am getting an ModuleNotFoundError: No module named 'myproject.binding' error message, coming from the __init__.py file. In both cases it looks as follows:
from .binding import CppClass

__all__ = ("CppClass",)

I wonder if this is pybind11 -dependent issue, since in this example, which doesn't use pybind11, such folder tree seems to work just fine! In that case, is there a workaround of that issue? Perhaps I could use scikit-build instead of scikit-build-core somehow to reach my goal?
Apologies for a lengthy issue description and thank you very much in advance for considering it!

I would highly recommend not losing the src/ folder structure. It cases all sorts of errors and issues (last one I saw was... yesterday https://github.com/pypa/cibuildwheel/discussions/1530#discussioncomment-6254807. I've had to move existing packages to this to fix various errors long before scikit-build-core issues.) It's officially recommended for new Python projects at https://packaging.python.org/en/latest/tutorials/packaging-projects/?highlight=structure#a-simple-project. Both Python and pytest have bugs when it comes to mixing an installed library and one with the same name sitting in the CWD (python) or next to the test folder if it also has an __init__.py (pytest).
However, both scikit-build-core and pybind11 support non-src structure too. The problem you are seeing is Python adds the current working directory to the path, which breaks since the current working directory has a binding/__init__.py, so that takes priority over the installed binding package. On Python 3.11 or newer, you can set PYTHONSAFEPATH or pass -P when running python (see https://docs.python.org/3/using/cmdline.html#cmdoption-P). Otherwise, the root directory of your repository is invalid for running your package (any other directory should be fine).
For pytest, you'll also either need to avoid adding an __init__.py to your tests folder, or you'll need to make sure --importmode=importlib is always passed (so add it to your configuration, ideally in pyproject.toml). If you don't do that, it will prepend the test folder to the path, breaking you again. Personally, I avoid adding __init__.py to tests (as it can also cause problems with automatic test discovery in setuptools, maybe even adding a 'tests' package to your wheel! Though I think that's protected against these days.) Pytest 7 has a new pythonpath setting that can be used to add a "helper" or "plugin" directory that you can import from, which is better than making your tests folder a module with __init__.py.
This is all true for pure Python projects as well, it just happens that they usually work when imported from the path. Things like importlib.metadata/importlib.resources might not - and really, you always want to test and run the same way your users will, but it mostly works, so you might not have seen issues with loading this way. Yet.
But if you aren't working with a huge existing project that is stuck on a non-src layout due to how hard it would be to move, please use src layout! :)

I believe hello-cpp happens to work because we never run it from the folder that contains the package, and the tests folder doesn't have an __init__.py file.

Thank you loads for such a prompt and informative response! Shame on me, I missed that modern Python projects should indeed use the src layout - indeed I might consider just using it!
However, I need to stress that importing did not work Not only from the main project folder - I changed directory away from it and got the same import error from my interpreter, even though I can see the project installed on pip list. So there must be something else getting in the way?
Also please ignore the test_script.py (I should've removed it from the tree I've shown) - I was actually testing imports by running an interpreter from command line.

Is there a repo somewhere I can check? (Though what I'd do is build a wheel and then use unzip -l thing.whl to see where the .so is going).

Unfortunately no - I also had to modify some names as it is a closed-source project, apologies! I could of course reconstruct something simple, but tbh I am just thinking to accept the src structure - in fact I am grateful you pointed me to it!
I did want to take a look at the wheel indeed but so far did not find (perhaps did not look carefully) how to build one with scikit-build-core :D But you are right, I just needed to check my env's site-packages! I will update you if I figure something out!

Hmm, it is in the core project folder: site-packges/myproject/binding.cpython-39-darwin.so - together with the __init__.py. So should work, but perhaps it is indeed Python's issue with paths after all...

Maybe you were running a script? python dir/something.py injects dir at the top of the path.

No, I was just opening interpreter by running python and typing from myproject import binding.CppLibrary inside... Or even simply import myproject.
But, really, you are completely right, and I should just adopt the src structure - I don't see it as a problem anymore, so for my purpose I think the issue is resolved! Thank you very much indeed!

Btw I've checked https://github.com/scikit-build/scikit-build-sample-projects/tree/master/projects/hello-pybind11 again, and I am somewhat puzzled how hello.hello() works there, while you install like this:
install(TARGETS ${python_module_name} DESTINATION .)

not
install(TARGETS ${python_module_name} DESTINATION hello)

Perhaps I am still misunderstanding how this works...

That's a scikit-build (classic) example, not scikit-build-core. Scikit-build-core requires you to be explicit about package directories - based on all the issues from scikit-build (classic) with the "feature". You can simulate it in scikit-build-core though by setting [tool.scikit-build] wheel.install-dir = "hello" explicitly.

It took me a while to understand the structure as well. Basically install(DESTINATION) is relative to top level python source, e.g. site-packages folder. So you can install in any package/sub-package you want.
Second key point is that the cython/pybind library etc. are modules themselves. Think of how you have my_pkg/moduleA.py is imported like import my_pkg.moduleA, a file my_pkg/my_bindings.cpython-39-darwin.so becomes import my_pkg.my_bindings. Granted the example given is a bit weird because it's installed as a global module, not as a module within a package (i.e. strip the my_pkg).
Hope this can clear out some confusion.

I need to update  (and resolve) this thread, as I figured out that, apparently, the issue must have been in me somehow previously messing up with the site-packages folder of my environment. I noticed that there I had a /bindings folder (empty), and when I deleted it and reinstalled myproject using the second (src-less) layout - the import worked just fine... Apologies for not figuring this out previously - I think I must have somehow achieved this mess by playing with installing to . in the project folder, and by moving it later as described here (but with various ad-hock modifications): https://github.com/scikit-build/scikit-build-sample-projects/blob/52f172abac47798dbedcdf2a35d6e2833f2c1ad2/projects/hello-cmake-package/CMakeLists.txt#L101
In any case, this discussion was very useful - I learned a lot, and will now most probably adopt the src layout (which seemed to actually defend against this issue in any case).

Depends on what is your criteria for relocatable. Simply removing RPATH should be ok as it will use whichever paths you have on the system or (DY)LD_LIBRARY_PATH. If instead you want it to always link to the library that you bundle to (not the binding library, but whichever other libraries you build in cmake), then you would need to add the RPATH of the final installation directory. For that, the example should still work, but maybe you have to play around with the prefix set there.


Vote for release of v2.4.0

At least 3 approvals are needed from the 4 owners for tagging 850a24737c15927603d1cecddc74c87f5f3377f4 as v2.4.0.

[ ] Sajay Antony (@sajayantony)
[ ]  Shiwei Zhang (@shizhMSFT)
[ ]  Steve Lasker (@SteveLasker)
[x]  Sylvia Lei (@Wwwsylvia)

See the v2.4.0 milestone and the change log for more details.
Please respond LGTM or REJECT (with reasoning).

Detailed commits compared to v2.3.1:

#579
#585
#587
#589
#593
#602
#605
#603
#609
#604
#607
#608
#611
#615
#617
#606
#618
#627
#628
#631
#637
#614
#643
#635
#655
#658
#647
#659
#653
#651
#666
#669
#665
#675
#656
#674
#681
#687
#679
#680
#690
#695
#683

LGTM. We should call out

The credentials package is moved from oras-credentials-go to oras-go.
We need a Performance Improvement section in the release note 😃
oras-go is with the latest OCI spec!

LGTM.

Closing as v2.4.0 has been released.


ReAligning the netlify logo

🚀 Feature
The current footer section of https://v2.docusaurus.io/ looks like this on the PC:-

Have you read the Contributing Guidelines on issues?
Yes, I have read all the Guidelines for contributing and I agree upon those.
Motivation
I want to improve Docusaurus to my fullest as I am a high-spirited open-source contributor and want to make more and more contributions so that I gain more and more knowledge from variety of projects.
Pitch
Clearly, here, the netlify logo seems misaligned and awful. I know we cannot remove the link to their website but we can realign it to make our website look good to all the users. Below is the solution I want to add to Docusaurus so that it progresses with a better layout.
Below are the screenshots after I aligned the netlify logo over different devices:-
Laptop/PC:

Tablet/iPad:

Android/iPhone:

Hi,
Currently, the logo is a single field of the themeConfig:
      logo: {
        alt: 'Facebook Open Source Logo',
        src: 'img/oss_logo.png',
        href: 'https://opensource.facebook.com',
      },

We could accept an array, and rename the field to logos (with retro compatibility to logos = [themeConfig.logo])
Do you want to write a PR, or is this issue a suggestion?

Hmm I think this might go against our brand guidelines. cc @JoelMarcey

Hmm I think this might go against our brand guidelines. cc @JoelMarcey

Why @yangshun ? You want your advertisement, right? You surely want to appear it on the footer section as well , so, what is the problem in realigning it to a better place beside the official "FaceBook Open Source" icon. I'm not suggesting any removal of link to your website but just postioning the misaligned button. Hope you understand :smile:

@slorber I surely want to create a PR. I am well versed with HTML5. So, can you modify the index.js file for the footer section if I provide you the HTML code?

In order to reduce staled issues, I am closing this issue, but feel free to open it again if needed.


Improvements to Moulder

With this PR I intent to improve the gravmag.interactive.Moulder class (the interactive app to create 2D gravity models with Polygons).
I have added to Moulder:

A sharex=True as default in figure creation in order to associate the model ax with the result ax.
A new option to reset the view to the original area (in case we use the zoom or move tool)
A new option to add new vertices to a preexisting Polygon: good when we want to edit the model.

And I have edited the mesher.Polygon class, adding a method to compute the area using the Shoelace Formula.
I have also added an option to avoid the application of the absolute value, so the area can be either positive or negative.
If the area is positive, the vertices of the Polygon are ordered counter-clockwise, while if it is negative, they are oriented clockwise.
This allowed me to create methods inside Polygon to change the orientation.
Using these new methods, Moulder forces the Polygons to be always clockwise in order to avoid mistakes on how the gravity field is computed (previously, if the Polygon was define counter-clockwise the gravity field was the one generated by the same Polygon with the opposite density).
Checklist:

[ ] Make tests for new code (at least 80% coverage)
[ ] Create/update docstrings
[ ] Include relevant equations and citations in docstrings
[ ] Docstrings follow the style conventions
[ ] Code follows PEP8 style conventions
[ ] Code and docs have been spellchecked
[ ] Include new dependencies in doc/install.rst, environment.yml, ci/requirements.txt.
[ ] Documentation builds properly (run cd doc; make locally)
[ ] Changelog entry (leave for last to avoid conflicts)
[ ] First-time contributor? Add yourself to doc/contributors.rst (leave for last to avoid conflicts)

@santis19 I would also like to take Moulder out of Fatiando into its own package. See #414
Makes more sense because the interactive parts don't really fit in with a library. Better to have Fatiando as a backend for the app.
Of course, we can get this merged before doing any of that.

@leouieda, thanks for the code review!
I've moved the Polygon improvements to #415.
I think is a good idea to move the Moulder to another repo.
I will write some ideas about Moulder on it.

@santis19 thanks for the extra PR.
We should probably merge these changes to Moulder here first and then port it to the new repo once that gets started. If you want to copy over some of the stuff from https://github.com/fatiando/geometric to the new repository, that would help. Don't worry about setting up the docs right now.


fix caching example in jit tutorial

closes #9288
This pull request fixes the problem as discussed in the above issue. To summarise, the caching in JAX can handle the original example, however it is not able to cache things like partial(f), lambda x: f(x) when calling jax.jit inside the loop. Which I've updated the paragraph for and showed the performance degradation.
I ran the notebook on colab, and then ran jupytext --sync on the notebook.
Happy to make any modifications!

thanks for the feedback! I've incorporated the changes. Let me know if there's anything I can edit/add.


remove AthenaWorkgroupEncryptedQueryResults rule

General Issue
Remove AthenaWorkgroupEncryptedQueryResults rule
The Question
Security Hub retired Athena.1 rule, stating Amazon S3 now provides default encryption with S3 managed keys (SS3-S3) on new and existing S3 buckets.
[Athena.1] Athena workgroups should be encrypted at rest
https://docs.aws.amazon.com/securityhub/latest/userguide/controls-change-log.html
AthenaWorkgroupEncryptedQueryResults implemented as AwsSolutions-ATH1 should be removed accordingly.
cdk-nag version
2.29.0
Language
Typescript
Other information
No response

Yes agreed, this rule should be removed


Bump Go Version to 1.20.3

This PR increments the go version to 1.20.3, as the current version contains vulnerabilities.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@lostluck

@jamesfricker this doesn't do what you seem to think it does.
The go directive in a go.mod specifies the minimum version of Go with which the code in the module can be built with. So it says that The Go beam SDK doesn't rely on language features or features of the standard library that were added after 1.19.
So unless there's a paired change to make use of features introduced in the 1.20 release, there's no real value in changing this.
It also doesn't prevent users from using newer versions of Go (including the patched security releases).
Further, the go directive only indicates Major.Minor and doesn't specify Patch. To-wit: As specified, this cases a build failure, caught by our build system (and would have been caught if it had been built locally too)
go: errors parsing go.mod:
/home/runner/work/beam/beam/sdks/go.mod:23: invalid go version '1.20.3': must match format 1.23
Error: Process completed with exit code 1.

The Go Module reference is quite readable, and explains the go directive in detail here:
https://go.dev/ref/mod#go-mod-file-go

That said, to update the Beam's Infra to use the latest patch, that kind of PR looks like this https://github.com/apache/beam/pull/26054 though for a patch update, only the BeamModulePlugin.groovy and sdks/go/run_with_go_version.sh files would need changes to ensure the latest patch is used. This only affects releases, when they build the boot loader scripts.


zathura: 0.4.0 -> 0.4.1

Motivation for this change
This brand-new version (released yesterday) fixes the synctex-related build failure with texlive 2018 (which happens only in 18.09 atm, not yet in master since texlive 2018 hasn't reached master yet).
The plugins did not need updates, they're at the latest version.
cc ZHF #45960
closes #47033
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

cc @samueldr @globin @unode

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: zathura
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: zathura
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/g6937p87fdplwqwi4himy1cw533qg8nr-zathura-pdf-mupdf-0.3.3
shrinking /nix/store/g6937p87fdplwqwi4himy1cw533qg8nr-zathura-pdf-mupdf-0.3.3/lib/zathura/libpdf-mupdf.so
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/g6937p87fdplwqwi4himy1cw533qg8nr-zathura-pdf-mupdf-0.3.3/lib
patching script interpreter paths in /nix/store/g6937p87fdplwqwi4himy1cw533qg8nr-zathura-pdf-mupdf-0.3.3
checking for references to /build in /nix/store/g6937p87fdplwqwi4himy1cw533qg8nr-zathura-pdf-mupdf-0.3.3...
building '/nix/store/kb7s5yb1sg6pf2l1np8sq5wkxjh87qxz-zathura-with-plugins-0.4.1.drv'...
/nix/store/ndn6ykpdaajnj0grnhnwcdwvchs2lxx8-zathura-with-plugins-0.4.1

Success on x86_64-linux (full log)
Attempted: zathura
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/xbjc9z3w7g5x5ms2xd976j1gqcpf7zfr-zathura-pdf-mupdf-0.3.3
shrinking /nix/store/xbjc9z3w7g5x5ms2xd976j1gqcpf7zfr-zathura-pdf-mupdf-0.3.3/lib/zathura/libpdf-mupdf.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/xbjc9z3w7g5x5ms2xd976j1gqcpf7zfr-zathura-pdf-mupdf-0.3.3/lib
patching script interpreter paths in /nix/store/xbjc9z3w7g5x5ms2xd976j1gqcpf7zfr-zathura-pdf-mupdf-0.3.3
checking for references to /build in /nix/store/xbjc9z3w7g5x5ms2xd976j1gqcpf7zfr-zathura-pdf-mupdf-0.3.3...
building '/nix/store/0li0fck31hlbgnmcvc8j6sbxqyz6sydj-zathura-with-plugins-0.4.1.drv'...
/nix/store/rn6pa6q8q32hs30j57rl7pbp7qcfxqfy-zathura-with-plugins-0.4.1


docs: code and command-line example text cannot be copied

On which page do you see this issue?
No response
Describe the issue
The code and command-line example text cannot be selected to be copied, and there is not a copy button as there is on the github installation docs. It would be great for convenience if the code and command-line example text could be copied.
What browsers are you seeing the problem on?
Chrome

Ok, nevermind, now I can seem to copy text. Maybe something going on with my browser...

I figured out what it is. You can't see that you've selected text with the 'light' theme.

Fixed the colors. Thank you


[ci skip] adding user @Prabhu-LANL

Hi! This is the friendly automated conda-forge-webservice.
I've added user @Prabhu-LANL as instructed in #2.
Merge this PR to add the user. Please do not rerender this PR or change it in any way. It has [ci skip] in the commit message to avoid pushing a new build and so the build configuration in the feedstock should not be changed.
Please contact conda-forge/core to have this PR merged, if the maintainer is unresponsive.
Fixes #2

@Prabhu-LANL, I think the conda-forge policy is to add a comment saying you're ok being a maintainer.

I'm okay being a maintainer. Thanks.


chore(deps): update dependency gradle to v5

This PR contains the following updates:

Package
Type
Update
Change
References

gradle
gradle-wrapper
major
4.10.3 -> 5.4.1
homepage, source

Release Notes

gradle/gradle
v5.4.1
Compare Source
This bug-fix release contains two changes to Gradle 5.4:

Fix inconsistent classpath ordering when dependencies have lots of excludes - #9197
Kotlin DSL IDEA script editor can't find JDK classes with Gradle 5.4 if Gradle JVM != Project SDK - #9195

We recommend that you use Gradle 5.4.1 over 5.4.
Upgrade Instructions
Switch your build to use Gradle 5.4.1 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.4.1
Standalone downloads are available at https://gradle.org/install.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.4.0
Compare Source
The Gradle team is excited to announce Gradle 5.4.
Read the release notes
We would like to thank the following community contributors to this release of Gradle:
Ian Kerins,
Roberto Perez Alcolea,
Rodolfo Forte,
gla3dr,
and Stefan M..
Upgrade Instructions
Switch your build to use Gradle 5.4 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.4
Standalone downloads are available at gradle.org/releases.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.3.1
Compare Source
This bug-fix release contains several changes to Gradle 5.3, notably:

Unable to use java-platform and maven-publish in multi-project: #8845
Unexpected exception when adding a plugin on buildSrc compile classpath: gradle/kotlin-dsl#1363

We recommend that you use Gradle 5.3.1 over 5.3.
Upgrade Instructions
Switch your build to use Gradle 5.3.1 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.3.1
Standalone downloads are available at https://gradle.org/install.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.3.0
Compare Source
The Gradle team is excited to announce Gradle 5.3.
This release features support for publishing and consuming Gradle Module Metadata, feature variants or "optional dependencies", type-safe accessors in Kotlin precompiled script plugins, and more.
Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0. If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first.
We would like to thank the following community contributors to this release of Gradle: Stefan M., Evgeny Mandrikov, Simon Legner, Raman Gupta, Florian Dreier, Kenzie Togami, Ricardo Pereira, Thad House, Joe Kutner, and Josh Soref.
Upgrade Instructions
Switch your build to use Gradle 5.3 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.3
Standalone downloads are available at gradle.org/releases.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.2.1
Compare Source
This bug-fix release contains several changes to Gradle 5.2, notably:

Checkstyle issues with a single source file: #8394
BOM support conflicts: #8420

We recommend that you use Gradle 5.2.1 over 5.2.
Upgrade Instructions
Switch your build to use Gradle 5.2.1 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.2.1
Standalone downloads are available at https://gradle.org/install.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.2.0
Compare Source
The Gradle team is excited to announce Gradle 5.2.
This release features a new Java Platform plugin, improved C++ plugins, new C++ project types for gradle init, service injection into plugins and project extensions, Kotlin DSL 1.1.3 and more.
Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0. If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first. Users upgrading from 5.1 should not have to worry about breaking changes.
Upgrade Instructions
Switch your build to use Gradle 5.2 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.2
Standalone downloads are available at gradle.org/releases.
Reporting Problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.1.1
Compare Source
This bug-fix release contains several changes to Gradle 5.1, notably:

A daemon memory leak affecting all projects #8142
Incremental Java compilation #8194
A fix to Gradle's generated Javadoc in 5.1 #8183

We recommend that you use Gradle 5.1.1 over 5.1.
Upgrade Instructions
Switch your build to use Gradle 5.1.1 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.1.1
Standalone downloads are available at https://gradle.org/install.
Reporting Problems
If you find a problem with Gradle, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.
v5.1.0
Compare Source
The Gradle team is excited to announce Gradle 5.1.
This release features repository to dependency matching, production-ready configuration avoidance APIs, Gradle Kotlin DSL 1.1, and more.
Read the Gradle 5.x upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 5.0.
If upgrading from Gradle 4.x, please read upgrading from Gradle 4.x to 5.0 first.
We would like to thank the following community contributors to this release of Gradle:
Mike Kobit,
Kent Fletcher,
Niklas Grebe,
Jonathan Leitschuh,
Sebastian Schuberth,
Dan Sănduleac,
Olivier Voortman,
Alex Saveau,
and Till Krullmann.
See the full set of release notes.
Upgrade Instructions
Switch your build to use Gradle 5.1 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.1

Standalone downloads are available at gradle.org/releases.
Reporting Problems
If you find a problem with Gradle 5.1, please file a bug on GitHub Issues adhering to our issue guidelines.  If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle 5.1, and we look forward to your feedback via Twitter or on GitHub.
v5.0.0
Compare Source
The Gradle team is excited to announce Gradle 5.0.
This release features a production-ready Kotlin DSL, dependency version alignment (similar to and usable with Maven BOMs), task timeouts, Java 11 support, and more.
These release notes list what's new since Gradle 4.10. You can review the highlights since Gradle 4.0 here.
Read the Gradle 5.0 upgrade guide to learn about breaking changes and considerations for upgrading from Gradle 4.x.
We would like to thank the following community contributors to this release of Gradle: Jean-Baptiste Nizet, Jonathan Leitschuh, Ben McCann, Björn Kautler, Georg Friedrich, Stefan M.,  Xiang Li,  Theodore Ni, James Justinic, Mike Kobit, Alex Saveau, Kevin Macksamie, Cliffred van Velzen, Artem Zinnatullin, Jakub Strzyżewski, Martin Dünkelmann, Thad House, Dan Sanduleac, Felipe Lima, and thc202.

Kotlin DSL 1.0
First and foremost, Gradle Kotlin DSL is now production-ready with it's 1.0 release! Authoring your build logic using Kotlin provides significant additional editing assistance in IDEs, including: improved completion, error highlighting, and refactoring tools. Please read our Gradle Kotlin DSL Primer and follow our migrating build logic from Groovy to Kotlin guide if you're interested. If you prefer the flexibility and dynamic features of Groovy, that's totally okay — the Groovy DSL will not be deprecated.

Dependency version alignment
This version of Gradle introduces dependency version alignment.  This allows different modules belonging to the same logical group (platform) to have identical versions in a dependency graph.  Maven BOMs can be imported to define platforms as well.
dependencies {
    // import a BOM. The versions used in this file will override any other version found in the graph
    implementation(enforcedPlatform("org.springframework.boot:spring-boot-dependencies:1.5.8.RELEASE"))

     // define dependencies without versions
    implementation("com.google.code.gson:gson")
    implementation("dom4j:dom4j")

     // this version will be overriden by the one found in the BOM
    implementation("org.codehaus.groovy:groovy:1.8.6")
}

More details about BOM import can be found in this section of the userguide.
Gradle build initialization features
gradle init functionality has been upgraded in this release: is now optionally interactive, includes new kotlin-library and kotlin-application project types, provides options for configuring project and package names, and more.

Searchable documentation
Search for Gradle Docs is back.  The kind folks at Algolia kindly host an index used to allow you to search the user manual and DSL reference.

Gradle API Javadocs now take advantage of Javadoc built-in autocomplete, making it easier to find classes and methods you're interested in.

Task timeouts
You can now specify a timeout duration for a task, after which it will be interrupted.  Read more about task timeouts in the docs.
HTTP retries during dependency resolution
When Gradle attempts to connect to a remote repository via HTTP, if it fails, Gradle will retry before blacklisting the repository.
No extra configuration is needed. See the section on HTTP retries for more information.
Performance features
Gradle can now be started as a low-prority process. This ensures that other applications like your IDE or browser stay responsive, even while a very demanding build is running.
When using @OutputFiles or @OutputDirectories with an Iterable type, Gradle used to disable caching for the task.  This is no longer the case, and using such properties doesn't prevent the task from being cached.  The only remaining reason to disable caching for the task is if the output contains file trees.
The JaCoCo plugin plugin now works seamlessly with the build cache.  When applying the plugin with no extra configuration, the test task stays cacheable and parallel test execution can be used.

Java 11 runtime support
Java enthusiasts will be happy to read that this release supports running Gradle builds with JDK 11.
Plugin authoring features
This release introduces useful changes for plugin and custom task authors, including an API for creating SourceDirectorySets, improvements to the Provider API, and improved build cache compatibility.
Gradle Native features
The Gradle Native project continues to improve and evolve the native ecosystem support for Gradle.
Upgrade Instructions
Switch your build to use Gradle 5.0 by updating your wrapper properties:
./gradlew wrapper --gradle-version=5.0

Standalone downloads are available at gradle.org/release-candidate.
Reporting Problems
If you find a problem with Gradle 5.0, please file a bug on GitHub Issues adhering to our issue guidelines.  If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle 5.0, and we look forward to your feedback via Twitter or on GitHub.

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

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

This PR has been generated by Renovate Bot.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

This brings Java 11 and Java 12 runtime support to Gradle.
https://docs.gradle.org/5.0/release-notes.html#java-11-runtime-support
https://docs.gradle.org/5.4.1/release-notes.html#support-for-jdk12
Clearing one of the blockers for uPortal upgrading to Java 11+.

/cc @laurenra7 @asgrant

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

I ran ./gradlew goJF and let it run for 80 minutes before I canceled it. Does this task work for you, @ChristianMurphy ?

@bjagg I've seen occasional out of memory exceptions.
I added 352b424 to bump the allowed memory for the build.


Tweak number of processes for low-memory systems

These two changes should help better choose how to use memory.

Backported for 8.x in https://github.com/zulip/zulip/pull/28964.

@timabbott Please have a look for an issue I found related to this PR https://github.com/zulip/zulip/issues/29794