Clarification - Coordinate frame of generalized forces, velocities and accelerations of free joints

Hi,
I'm a PhD. student and I'm trying to use MuJoCo for the simulation of a real, legged robot. I need to design, test and deploy model-based controllers for such a robot and I have chosen MuJoCo for the testing phase. My application uses MuJoCo in a rather simple manner: sends actuator commands and receives sensor data. I already have a running application that performs the aforementioned functionality.
I want to make sure that the simulated model behaves as close as possible to the actual hardware (same input and output list and same dynamic behavior). Following the documentation, I have been able to reproduce all inputs and outputs of my real system (with the coordinate frames I want for 3D quantities). Furthermore, I believe that all geometric (/kinematic) and inertial parameters are the same as the model I use in my controller. To do a final sanity check I want to compare the Mass matrix and generalized forces due to non-linear effects (gravity and velocity terms) and possibly the end-effector jacobians of my mathematical model with the matrices that MuJoCo computes during runtime.
Here's where I need some help: the coordinate frames of the generalized velocities, accelerations and forces of the free-floating joint are not completely clear to me but I know that they differ from the definitions I chose in my mathematical model. Thus, I need to know the definition used in MuJoCo to build the appropriate transforms that will allow me to compare the aforementioned elements of the equations of motion. I have read the documentation and checked previous issues quite thoroughly and I found scattered pieces of information from which I can guess some of these definitions (I believe most of them are in global coordinates) but I want some confirmation:
1 - From the documentation, I get that the qpos of this joint consists of the cartesian position of the body origin in global coordinates followed by the quaternion that represents its orientation. From what I read I assume that qvel, qacc and all the corresponding qfrc_ of this joint also present first the translational component and second the rotational one, can you confirm whether this is the case?
2 - Is the linear velocity in qvel expressed in local or global coordinates? If this is expressed in global coordinates, is this the time derivative of the position or the spatial velocity (as defined by Featherstone)?
3 - Same for the linear acceleration in qacc, is it expressed in local or global coordinates? If in global coordinates is this the second time derivative of the position or the spatial acceleration?
4 - Are the rotational velocity and acceleration (in qvel and qacc respectively) expressed in local or in global coordinates?
5 - I inferred from some simulation data that the forces in all qfrc_ are in global coordinates, but are the moments in local coordinates?
It's a lengthy post but I hope that I have posed my questions clearly. Otherwise, I'll be happy to rephrase. Thank you!

1 - From the documentation, I get that the qpos of this joint consists of the cartesian position of the body origin in global coordinates followed by the quaternion that represents its orientation.

No. I wonder where you got this idea from? This is only true for a body with a free joint, in which case the parent is the world and the coordinates are global. Otherwise joint are always expressed w.r.t the parent and are not Cartesian but Lagrangian.
It is very difficult to answer the rest of your questions as they appear to be predicated on this basic misunderstanding.
I recommend that you play with our tutorial notebook and maybe write some experimental code with very simple models. Once you have a specific question related to a specific, simple example model, ideally with a reproducible MWE, you can ask it here.

@yuvaltassa Thank you for your fast response. Through my post I am only asking about the generalized velocities, accelerations and forces corresponding to a free joint, I am sorry if this was not explicit enough.
My question relates more to documentation (I think) than to coding itself, and I'll be happy to ask elsewhere if this is not the correct place.
My questions stem from the fact that you may choose to represent velocities of a free-floating body as a Twist/spatial velocity or as a 3D rotation and the time derivative of the body origin position, and you may also choose the coordinate frame in which these quantities are expressed. This also applies to 6D accelerations (linear/angular, Twist derivatives) and forces/moments/Wrenches.
Transforming from one representation to another is rather simple but you need to know what your starting point is. After reading the docs, the conventions used in MuJoCo for free-floating body velocities, accelerations and forces are not clear to me. Hence my questions. I'd appreciate it if you can answer, or let me know who else I can ask.

Ah, I see. Yes this was not clear in the OP.

The linear DoFs of free joints are in the global frame, as are the linear velocities.
The orientation of a free joint (a quaternion) is also in the global frame. However, the rotational velocities of a free joint are in the local frame. This is not so much a design decision but rather correctly following the topology of quaternions. Angular velocities live in the quaternion tangent space, which is defined locally for a certain orientation, so frame-local angular velocities are in some sense the natural parametrisation. You might gain more insight by examining MuJoCo's quaternion functions.
All accelerations live in the same space as velocities.
qfrc-type forces/torques live in the same space as accelerations, modulo the mass matrix. So for a free body with a diagonal mass matrix, a torque along one of the body's principal axes will lead to rotation only along that axis.
mjData.xfrc_applied forces/torques, as you might guess by the x prefix, are in the global frame.

As an aside, is there a specific place in the documentation where you would expect to find this information? I'm happy to add a clarification in the appropriate place.
Cheers
PS In order to be 100% I didn't write anything wrong, I edited one of our colab tutorial cells to convince myself. You might find it useful, and I recommend using such toy examples to gain further understanding.
sample code for @Anderv21
xml = """
<mujoco>
  <option>
    <flag gravity="disable"/>
  </option>
  <worldbody>
    <light name="top" pos="0 0 1"/>
    <body name="box_and_sphere" euler="0 0 0">
      <freejoint/>
      <geom name="red_box" type="box" size=".1 .2 .3" rgba="1 0 0 1"/>
    </body>
  </worldbody>
</mujoco>
"""
model = mujoco.MjModel.from_xml_string(xml)
data = mujoco.MjData(model)
renderer = mujoco.Renderer(model)

# enable joint visualization option:
scene_option = mujoco.MjvOption()
scene_option.flags[mujoco.mjtVisFlag.mjVIS_JOINT] = True

duration = 3  # (seconds)
framerate = 60  # (Hz)

frames = []
mujoco.mj_resetData(model, data)

# random orientation
data.qpos[3:7] = np.random.randn(4)  # MuJoCo will auto-normalise

# apply torque along x-axis
data.qfrc_applied[4] = 1

while data.time < duration:
  mujoco.mj_step(model, data)
  if len(frames) < data.time * framerate:
    renderer.update_scene(data, scene_option=scene_option)
    pixels = renderer.render().copy()
    frames.append(pixels)

# Simulate and display video.
media.show_video(frames, fps=framerate)

Thank you for your response, it was very insightful and exactly what I needed.
Concerning the place in the documentation where I would expect this info, I would choose the Overview -> Kinematic tree -> Joint/DOF. Alternatively, adding the info in Overview -> Clarifications would also work.
Other places that make sense to me are Modeling -> MJCF Mechanisms, and Computation -> General Framework -> The state.
Thanks again!


Linking problem with third-party dependencies

Currently most third-party dependencies such as libconfig and gRPC are linked dynamically to guestlib.
This causes an issue when we try to link libguestlib to any benchmark outside the build directory--the relative path to those dependent libraries is changed.
Linking all dependencies statically would be great, but I met some troubles with gRPC.
I'm thinking about to install those dependencies in /usr/local/ava or opt/ava and use absolute path for linking all libraries.

The current idea is to let guestlib only depend on pre-installed libraries by replacing gRPC with Boost::asio.
Developers can still choose to use any kind of RPCs for communications between manager components.


Point/Rod not colliding with RigidBody.

Description
I have a complex shape I constructed using rods and points. It works fine, holds itself properly and collides properly with the screen's boundaries. Although, it won't collide with other RigidBodies.
Reproduction Steps
Create multiple frames and trace them using rods. Try making a part collide with it.
Expected Behavior
I expect the block to hit my structure and make it move.
Actual Behavior
The block can't sense it's existence.
Media
Video:
https://user-images.githubusercontent.com/68619882/142733996-9cf3fc55-fdd9-456e-9989-00f41b6a6afa.mp4
Place file:
https://mega.nz/file/WdVXQQxZ#H7y496g_JqAbnUvUq44niYUz-R4L8_U19VylXh4BJdE
Encounters
I first encountered this when playing around with points and . Pretty much about an hour ago.
Lastly
I can confirm that I haven't touched anything regarding CollisionFiltering. It also gives me an empty array when I request the FilteredRigidBodies.

While this isn't a bug, its a feature I wish to work on in the coming few days. The feature will deal with creating custom RigidBodies with different amount of sides and structures. While this is possible right now, it will require editing of some 30-40 lines of code which would be a hassle and I won't want you to go through that.
Best solution would be wait a bit until this functionality is added :)
Something that makes my job easier is that collision detection from the start was made to support RigidBodies with different amounts of sides, so that isn't a problem! The only bit I need to update is how custom RigidBodies would be created, since I merely focused on turning GuiObjects (4 sided) to RigidBodies!
I'll keep this issue open until the functionality has been added. Around 3-4 days at most maybe?
Happy developing!


ContainerValueReader Unable to read TimeStamp

The JsonDocumentFindAndUpdate.scala example throws an exception because it is unable to map the TimeStamp type which is unimplemented in  readBsonValue() l. 92:

I can shift to a Date_Time in the meanwhile but just wondering if you're planning on implementing this anytime soon?
org.bson.BsonInvalidOperationException: ReadBSONType can only be called when State is TYPE, not when State is VALUE.
at org.bson.AbstractBsonReader.throwInvalidState(AbstractBsonReader.java:668)
at org.bson.BsonBinaryReader.readBsonType(BsonBinaryReader.java:88)
at mongo4cats.codecs.ContainerValueReader$.go$1(ContainerValueReader.scala:32)
at mongo4cats.codecs.ContainerValueReader$.readBsonDocument(ContainerValueReader.scala:40)
at mongo4cats.codecs.DocumentCodec.decode(DocumentCodecProvider.scala:37)
at mongo4cats.codecs.DocumentCodec.decode(DocumentCodecProvider.scala:25)

On Mongodb website it is stated that timestamp is for internal use only and it is suggested to use regular date time instead. Because of that I never got around at implementing it.
Nevertheless, I've updated ContainerValueReader and ContainerValueWriter just now to be able to handle those so this shouldn't be a problem anymore.
I'll do a release later today.

Update your dependency to 0.6.6 and it'll work 👍

Thanks for the quick fix. I did move to date time so workaround. Will
pull latest change.
On 1/13/23 06:15, Kirill wrote:

Closed #22 https://github.com/Kirill5k/mongo4cats/issues/22 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/Kirill5k/mongo4cats/issues/22#event-8219837787,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCS4WCBUZWQRBBG6BTTY7TWSE2MRANCNFSM6AAAAAATZ4KNQY.
You are receiving this because you authored the thread.Message ID:
@.***>


Can I continue to use Pinpoint1.8.1 when I upgrade my SpringBoot2 application to SpringBoot3?

Can I continue to use Pinpoint1.8.1 when I upgrade my SpringBoot2 application to SpringBoot3?

Support for Spring Boot 3 has been added recently
So it is recommended to use the latest version(2.5.4, 3.0.0)


Fix alter table drop constraint not able to drop some constraints

Description
Babelfish was hashing the constraint name for named table constraints. But no hashing was done for unnamed table constraints, unnamed column constraints or named column constraints. On the other hand the constraint name in DROP CONSTRAINT was always hashed without exception. This means we were failing DROP for all constraints which were not hashed during creation.
As a fix, we have removed the hashing step from named table constraints creation, making creation of constraints consistent for babelfish. This also allows us to remove hashing from DROP CONSTRAINT command.
Not hashing constraint name has one repercussion, Users can now create a PRIMARY KEY/UNIQUE constraint with same name as an existing Index on the same table. This was previously blocked for named table constraints but not for other types of constraints.
We could block this in the future in a more complete way.
Issues Resolved
[BABEL-2047]
Cherry Picked From
https://github.com/babelfish-for-postgresql/babelfish_extensions/pull/2575
Sign Off
Signed-off-by: Tanzeel Khan<EMAIL_ADDRESS>Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.004%) to 72.819%

Files with Coverage Reduction
New Missed Lines
%

contrib/babelfishpg_tsql/src/pl_handler.c
1
91.54%

contrib/babelfishpg_tds/src/backend/tds/tdscomm.c
2
74.29%

Totals

Change from base Build<PHONE_NUMBER>:
-0.004%

Covered Lines:
41851

Relevant Lines:
57473

💛  - Coveralls


Added rel=canonical  tag to the

This should prevent wrong pages to appear in SERP.
Fixes #605

The URL https://deploy-preview-640--reactjs.netlify.com/docs/typechecking-with-proptypes in the deploy preview still shows "Page Not Found". We would want to fix that too if we are going to go with the canonical solution.

hi @sophiebits,
that was on purpose: the point is to just provide a hint to search engines while maintaining the site structure you have had so far.
tl;dr. IMO, a user should not face any changes on the website after we fix the issue with search engines and this is exactly what this PR does in its current state.
If you take a closer look at the page at the URL you referred to, you may notice that with this PR in place there is a <link rel="canonical" href=... /> tag being added to the source code of the page, which is completely invisible for the end user, but plays very valuable role for most search engines.
Furthermore, I think either of the following solutions would potentially harm SEO ranks of the website:
a] introducing valid mirroring pages without .html postfix in their URL while also keeping those with .html;
b] redirecting (with code 301) users from .html pages to their non-.html counterparts.
Because:
a] would introduce repeating content (which search engines may penalize)
and b] would lower the SEO score for a page doing 301 in favour of the target of the redirect, but the target may still not be in the search engine index by the time and so not in the search results at all.

@sophiebits any ideas regarding this?

@sophiebits any news here?


Supports static credentials as part of connection string (dsn - dat…

…a source name)
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report

Merging #346 (6265602) into master (b533c23) will decrease coverage by 12.67%.
The diff coverage is 20.52%.

@@             Coverage Diff             @@
##           master     #346       +/-   ##
===========================================
- Coverage   60.08%   47.41%   -12.68%
===========================================
  Files         203      199        -4
  Lines       22083    21757      -326
===========================================
- Hits        13269    10315     -2954
- Misses       8016    10615     +2599
- Partials      798      827       +29

Flag
Coverage Δ

1.14.x
?

1.16.x
37.09% <20.52%> (?)

1.18.x
37.51% <20.52%> (-22.28%)
:arrow_down:

1.19.x
37.39% <20.52%> (-22.42%)
:arrow_down:

connection
11.15% <19.20%> (-0.08%)
:arrow_down:

database_sql
17.52% <15.89%> (-0.10%)
:arrow_down:

discovery
9.18% <19.20%> (+0.08%)
:arrow_up:

e2e
47.41% <20.52%> (-0.56%)
:arrow_down:

integration
17.52% <15.89%> (-0.10%)
:arrow_down:

macOS-latest
?

ratelimiter
10.93% <19.20%> (-0.08%)
:arrow_down:

scripting
11.91% <19.20%> (-0.08%)
:arrow_down:

table
31.00% <19.20%> (-0.43%)
:arrow_down:

topic
22.80% <19.20%> (-0.41%)
:arrow_down:

ubuntu-latest
47.41% <20.52%> (-12.64%)
:arrow_down:

unit
?

windows-latest
?

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

Impacted Files
Coverage Δ

internal/credentials/multi.go
0.00% <0.00%> (ø)

internal/credentials/static.go
0.00% <0.00%> (ø)

config/config.go
82.50% <15.38%> (-5.25%)
:arrow_down:

connection.go
83.66% <27.27%> (-3.03%)
:arrow_down:

internal/dsn/dsn.go
16.66% <33.33%> (-57.62%)
:arrow_down:

options.go
73.80% <50.00%> (-1.20%)
:arrow_down:

internal/credentials/access_token.go
100.00% <100.00%> (ø)

internal/credentials/anonymous.go
100.00% <100.00%> (ø)

sugar/dsn.go
0.00% <0.00%> (-100.00%)
:arrow_down:

sugar/params.go
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 60 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Suggestion: Add Spam bypass for spam emails being reported & BCC'd onsite

Hi. I have just followed these instructions to create a rule to add a BCC redirect to a spam monitoring shared mailbox for any emails that my staff send to Microsoft for spam reclassification purposes. However it struck me that letting such messages pass unhindered through the spam filter might also be important to make sure they definitely arrive correctly. Therefore I suggest adding the following extra action to the instructions on this page (either before or after the BCC action):
Modify the message properties > Set the spam confidence level (SCL) > Bypass Spam Filtering.
I hope this helps improve these instructions for those following behind.

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

ID: 88f35e41-4289-a328-cea0-a71f4862c424
Version Independent ID: c60b5e14-0a43-d9cb-9d98-65cd82910be5
Content: Use mail flow rules to see what your users are reporting to Microsoft - Office 365
Content Source: microsoft-365/security/office-365-security/use-mail-flow-rules-to-see-what-your-users-are-reporting-to-microsoft.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

@emardee, it depends on the reporting method, but in most cases, the good/bad/suspect message is sent to Microsoft as an attachment in a new email message to preserve the original message headers, so I don't think there's a requirement for the message to bypass spam filtering. It probably won't hurt, but I don't think it's required.

Fair enough. You are probably right. I wasn’t sure… but I thought since we know the attachment is probably spam, and we are trying to let it through, why risk the spam filter possibly blocking it. 😊
Thanks for responding.
Mike
From: Chris Davis<EMAIL_ADDRESS>Sent: Thursday, 4 June 2020 10:02 AM
To: MicrosoftDocs/microsoft-365-docs<EMAIL_ADDRESS>Cc: emardee<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-365-docs] Suggestion: Add Spam bypass for spam emails being reported & BCC'd onsite (#2095)
@emardee https://github.com/emardee , it depends on the reporting method, but in most cases, the good/bad/suspect message is sent to Microsoft as an attachment in a new email message to preserve the original message headers, so I don't think there's a requirement for the message to bypass spam filtering. It probably won't hurt, but I don't think it's required.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/MicrosoftDocs/microsoft-365-docs/issues/2095#issuecomment-638484541 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AECJOB2OZPQ6SSX5Z7ZYJELRU3B6RANCNFSM4NRD6UHQ .

@emardee - Thank you for submitting feedback.
From our understanding, the issue you raised has been answered by the author @chrisda so we will close this issue.
Thank you for your contribution to make the docs better! Much appreciated!


the 3rd parameter $headers of abort() to put on the response.

This PR is fixed for No effect HTTP BASIC Authentication.
return abort(401, 'Unauthorized', ['WWW-Authenticate' => 'Basic']);

Failinh tests?

@GrahamCampbell I do not think that these failing tests is necessarily because of the changed code. It looks more like a composer error to me?

I've retriggered travis.


@test_throws gets swallowed

Tested on Julia 1.6, XUnit.jl#master:
julia> @testcase begin
       @test_throws ErrorException 42
       end
Scheduling test set tests...
* Running test set test-case...
Test Summary: | Fail  Total
test set      |    1      1
ERROR: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.

Love the package, by the way, looking forward to migrating away from my hand rolled parallel test runner :-)

Thanks for reporting this. I haven't tested this on Julia 1.6. Will look into it.
@Sacha0 do you have a wild guess about this?

@Sacha0 do you have a wild guess about this?

None off the top of my head, no, and I don't seem to be able to reproduce this issue either:
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0-beta1.91 (2021-02-02)
 _/ |\__'_|_|_|\__'_|  |  HEAD/e02764ca43 (fork: 198 commits, 58 days)
|__/                   |

(@v1.6) pkg> activate .
  Activating environment at `~/pkg/raicode/packages/XUnit/Project.toml`

julia> using XUnit

julia> @testcase begin
              @test_throws ErrorException 42
              end
Scheduling test set tests...
* Running test set test-case...
test set: Test Failed at REPL[3]:2
  Expression: 42
    Expected: ErrorException
  No exception thrown
Test Summary: | Fail  Total
test set      |    1      1
ERROR: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.

The preceding is with the version of XUnit.jl in our monorepo, which perhaps differs from XUnit.jl#master in this repository?

Indeed, it looks like the issue comes from some difference between this repository's version and the private equivalent:
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0-beta1.91 (2021-02-02)
 _/ |\__'_|_|_|\__'_|  |  HEAD/e02764ca43 (fork: 198 commits, 58 days)
|__/                   |

(@v1.6) pkg> registry update
    Updating registry at `./temp-depot-six/registries/General`

(@v1.6) pkg> add XUnit
   Resolving package versions...
   Installed XUnit ─ v1.1.0
    Updating `~/pkg/temp-depot-six/environments/v1.6/Project.toml`
  [3e3c03f2] + XUnit v1.1.0
    Updating `~/pkg/temp-depot-six/environments/v1.6/Manifest.toml`
  [460bff9d] + ExceptionUnwrapping v0.1.2
  [8f5d6c58] + EzXML v1.1.0
  [692b3bcd] + JLLWrappers v1.2.0
  [dcd651b4] + TestReports v0.4.0
  [3e3c03f2] + XUnit v1.1.0
  [94ce4f54] + Libiconv_jll v1.16.0+7
  [02c8fc9c] + XML2_jll v2.9.11+0
  [8dfed614] + Test
Precompiling project...
  Progress [========================================>]  15/15
15 dependencies successfully precompiled in 14 seconds (4 already precompiled)

julia> using XUnit

julia> @testcase begin
              @test_throws ErrorException 42
              end
Scheduling test set tests...
* Running test set test-case...
Test Summary: | Fail  Total
test set      |    1      1
ERROR: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.

https://github.com/RelationalAI-oss/XUnit.jl/commit/ee7b0d15139ecfd8f68e39eba15bad4f67f6c5df seems to be the first diverging commit between where I see success and the open version of the package, so could bisect from there?

(Bisecting at the moment, 8221f3c068ce5af9ffb8b52a2228f69c0c5981a3 looks good.)

Hm, now I'm not able to repro on ff35f0a76742e9dd983ba355e732cd2d900177e3 under Julia 1.6 🤔.

Ah, when I dev XUnit, the resolver decides to downgrade and then I can't repro:
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0-beta1.91 (2021-02-02)
 _/ |\__'_|_|_|\__'_|  |  HEAD/e02764ca43 (fork: 198 commits, 58 days)
|__/                   |

(@v1.6) pkg> dev XUnit
     Cloning git-repo `https://github.com/RelationalAI-oss/XUnit.jl.git`
   Resolving package versions...
    Updating `~/pkg/xunit-bisect/environments/v1.6/Project.toml`
  [3e3c03f2] ~ XUnit v1.1.0 ⇒ v1.0.0 `~/pkg/xunit-bisect/dev/XUnit`
    Updating `~/pkg/xunit-bisect/environments/v1.6/Manifest.toml`
  [3e3c03f2] ~ XUnit v1.1.0 ⇒ v1.0.0 `~/pkg/xunit-bisect/dev/XUnit`

(@v1.6) pkg> status
      Status `~/pkg/xunit-bisect/environments/v1.6/Project.toml`
  [3e3c03f2] XUnit v1.0.0 `~/pkg/xunit-bisect/dev/XUnit`

julia> using XUnit
[ Info: Precompiling XUnit [3e3c03f2-1a94-11e9-2981-050a4ca824ab]

julia> @testcase begin
              @test_throws ErrorException 42
              end
Scheduling test set tests...
* Running test set test-case...
test set: Test Failed at REPL[4]:2
  Expression: 42
    Expected: ErrorException
  No exception thrown
Test Summary: | Fail  Total
test set      |    1      1
ERROR: Some tests did not pass: 0 passed, 1 failed, 0 errored, 0 broken.

The preceding version change may not mean what it appears to mean 😄: https://github.com/RelationalAI-oss/XUnit.jl/commit/488a3b20122d4cb2ce77751ceb110e7368268468 Time travel! :)

It looks like the tagged version picked up 4832789d31210ecb8f6a661d729a6cc9a8a7fc8f as 1.1.0, on which I can repro the issue. So hypothetically this issue has been fixed on tip and we just need a patch tag.

My working conjecture is that https://github.com/RelationalAI-oss/XUnit.jl/commit/669ed533ac37032f2d2e5febcef361206a8b2395 introduced the swallowing and 4f5f5b320dcc9d98a37182ece01eeac5157b4294 reversed it by restoring the removed snippet. In any case, it seems the solution is to tag a new patch version at tip :).

Thanks @Sacha0 for digging the issue. Created a new release: https://github.com/RelationalAI-oss/XUnit.jl/commit/517608d4e720fed563f91b4143cdc243693c34ac#commitcomment-46810314
@maleadt Can you check if the issue disappears after the new release.

Works fine, thanks!


[BUG] Error when using Neovim within TMUX popup and nvim-cmp

When editing a buffer within Neovim that was started in a TMUX popup an error pops up, see screenshot below. Seems like it has trouble populating a table tbl_map when ran from within a TMUX popup.
I'm using Neovim 0.5.1-stable with nvim-cmp and am experiencing this issue both on MacOS Big Sur as well as Ubuntu 20.04. I have the cmp branch checked out. See below for my nvim-cmp configuration snippet.
A potential workaround is to specify unset TMUX in the shell that is running within the TMUX popup, prior to starting Neovim. However i'll be missing TMUX based completion in that case, which is not too bad considering i'm using TMUX popup's for short-lived and isolated actions.
require('cmp').setup {
  formatting = {
    format = require('lspkind').cmp_format({
      maxwidth = 80,
      menu = ({
        buffer = "[Buffer]",
        calc = "[calc]",
        nvim_lsp = "[LSP]",
        path = "[path]",
        tmux = "[TMUX]",
        spell = "[spell]",
        vsnip = "[vsnip]"
      }),
      with_text = true
    })
  },
  mapping = {
    ['<ESC>'] = function(fallback)
      require('cmp').close()
      fallback()
    end,
    ['<CR>'] = require('cmp').mapping.confirm({
      behavior = require('cmp').ConfirmBehavior.Insert,
      select = true
    }),
    ['<M-i>'] = require('cmp').mapping.scroll_docs(-4),
    ['<M-o>'] = require('cmp').mapping.scroll_docs(4),
    ['<M-n>'] = require('cmp').mapping.select_next_item({ behavior = require('cmp').SelectBehavior.Select }),
    ['<M-p>'] = require('cmp').mapping.select_prev_item({ behavior = require('cmp').SelectBehavior.Select })
  },
  snippet = {
    expand = function(args)
      vim.fn["vsnip#anonymous"](args.body)
    end
  },
  sources = {
    { name = 'buffer' },
    { name = 'calc' },
    { name = 'nvim_lsp' },
    { name = 'path' },
    { name = 'tmux',
      opts = {
        all_panes = true,
        trigger_characters = { '.' }
      }
    },
    { name = 'spell' },
    { name = 'vsnip' }
  }
}

Hi! Thanks for letting me know.
I've taken care of that error at least.
I was just about to head to bed, so I will look into the missing completion when using tmux popups. I don't actually think I've used that feature before :sweat_smile:

Thanks for the lightning fast fix, can confirm the error is gone. Cheers !

Completions should be working now. At least if you use :display-popup -E "nvim".
The issue was that a popup is technically not a pane, which means TMUX_PANE env variable was not set. Without this this source would just abort. Knowing this I've just removed the check entirely.

Cheers on the additional fix, can confirm opening Neovim in a TMUX popup works without errors and autocompletes using other TMUX panes as it's source.

Glad to hear it! :)


Fix Doxygen problems for menu enty 'Files' and accessing a cross reference.

For mor info see also: https://forums.raspberrypi.com/viewtopic.php?p=1977970#p1977970

Adding Doxygen log file for warnings.
Adding all source to Doxygen. (Might not be a good idea to do on a public server due to thei increase of total volume of data)
Adding call and caller grapths. (Might not be a good idea on a public server.)
Fix of problems in DoxygenLayout.xml by changing 'problem tags' into comment.
Activating menu option 'Files' in DoxygenLayout.xml to get access to a cross reference of names.

seems like you need to rebase your branch off our develop branch

Sorry if my last action was making things worse.
I have problems with git, not knowing what to do. (I'm a SVN man, always have problems with git, this is my second 'pull request' ever.)

@papaathome If you're not familiar with git, it might be easiest for you to close this PR (as the "Files changed" tab is now showing unrelated changes), and create a fresh commit and PR working off the develop branch instead of off the master branch?

@lurch I will follow your advise.


feature request: Single side padding

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
I would really love being able to set the padding for every side of the floating window individually.
Provide background
Currently I have the padding on 10 and for me its on the sides perfect. But then also the top and bottom side get squished in and those sides just do not look ok.
What is the significance of this feature?
nice to have
Additional details
No response

You can customize this using the float.override function in the config. Simply edit the row/col/width/height values as you like to customize the appearance of the floating window.


fix: Add host_user to access KVM host

This patch add a host_user variable to access the KVM host.

:tada: This PR is included in version 2.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Rating Bar doesn't work

well since 2 last updates the rating bar doesn't work anymore, it's not like a really big deal, but it would be better if it works like it suppose to do. Thank you

Make sure you have enabled API v3 on the General settings page.

v3 API doesn't fix it, because the problem is caused due to the API-Key that YouTubeCenter is using being a free one and it's completely overloaded (too many YouTubeCenter users).
A little info from the YouTubeCenter main developer: https://github.com/YePpHa/YouTubeCenter/issues/1783
You can fix it by using your own API Key, to do that click on the little question mark next to the "API Key" field in the YouTubeCenter settings and then following all steps (you need a Google Account for that).
Related issue:
#1814
Related issues:

I created my own Key and it now shows the available quality in the thumbnail, but the rating count and the rating bar are still missing.
These are the errors I got in the firefox console: http://imgur.com/L4Rr1QL
Thx

@RegDenied Please reset your YoutubeCenter Settings under Settings>General>Reset settings (on the bottom).
Then uninstall YouTubeCenter.
Restart your browser and re-install the Greasemonkey Script.

@SINE That did it. Thanks a lot!

@Zarggg Thx, it works fine now


Text input component module

@sanbornsen can you describe what you did and why? Is there an issue for this?
@dlabrecq can you please review.

@mindreeper2420 these components that I am adding are not totally following patternfly specifications.  So, it's a way to keep it in a place and use it through out fabric8 projects.

@sanbornsen OpenShift.io is built off of the PatternFly library and uses PatternFly components throughout. I’m not sure what you are receiving for specs, but they should be PatternFly based.
@catrobson - please review.

PR Blocked: Design for this component is needed for review.

@mindreeper2420 I am sorry we couldn't find any exclusive design component for this inline input, but that will come in future for sure.
We decided to drop this PR for now.


Hello world run issues.

Issue with Building candle-core on MacBook Pro m2 Chip
Hello!
I'm encountering an issue when trying to run the hello world example from the documentation. Everything works as expected until I try building the crate for candle-core.
Steps to Reproduce:

Run the following commands:

cargo new myapp
cd myapp
cargo add --git https://github.com/huggingface/candle.git candle-core --features "cuda"

After the above, run cargo build.
Expected Result:
Correct build of candle-core
#Actual Result:
Received the following error messages:
   Compiling gemm-common v0.16.7
error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:280:20
    |
280 |     let k_iter = k.div_ceil(auto_kc);
    |                    ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:281:21
    |
281 |     let auto_kc = k.div_ceil(k_iter);
    |                     ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:291:49
    |
291 |         let rhs_l2_assoc = rhs_micropanel_bytes.div_ceil(l2_cache_bytes / l2_assoc);
    |                                                 ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:306:24
    |
306 |         let m_iter = m.div_ceil(auto_mc);
    |                        ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:307:11
    |
307 |         m.div_ceil(m_iter * mr) * mr
    |           ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:322:24
    |
322 |         let n_iter = n.div_ceil(auto_nc);
    |                        ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/cache.rs:323:11
    |
323 |         n.div_ceil(n_iter * nr) * nr
    |           ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:297:19
    |
297 |             nc: n.next_multiple_of(NR),
    |                   ^^^^^^^^^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:308:40
    |
308 |             Parallelism::Rayon(_) => n.next_multiple_of(NR),
    |                                        ^^^^^^^^^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:356:40
    |
356 |                 packed_lhs_stride * (m.next_multiple_of(MR) / MR)
    |                                        ^^^^^^^^^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:389:48
    |
389 |                         packed_lhs_stride * (m.next_multiple_of(MR) / MR)
    |                                                ^^^^^^^^^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'int_roundings'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:472:47
    |
472 |                         let n_tasks = n_chunk.div_ceil(NR);
    |                                               ^^^^^^^^
    |
    = note: see issue #88581 <https://github.com/rust-lang/rust/issues/88581> for more information

error[E0658]: use of unstable library feature 'local_key_cell_methods'
   --> /Users/Charlie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gemm-common-0.16.7/src/gemm.rs:703:29
    |
703 |                     L2_SLAB.with_borrow_mut(|mem| {
    |                             ^^^^^^^^^^^^^^^
    |
    = note: see issue #92122 <https://github.com/rust-lang/rust/issues/92122> for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `gemm-common` (lib) due to 13 previous errors

Environment:
MacBook Pro with m2 chip.
Any assistance or insights would be greatly appreciated!

You need to update to rustc 1.73 (the latest version), this is because of some recent changes in the gemm crate that we use for matrix multiplication.

That did it! Closing with a note that for anyone on a MacBook brew is only on 1.71-1.72 as the latest as of the time of me raising this so you'll have to install rust instead
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Great that it works, yeah requiring the latest version is a bit over the top, we'll be more careful when updating crates next time so that there is at least a bit of retro-compatibility.


Ebix parsing

Description
Ebix parsing added.
Performance benchmark updated.
Tests updated .
References

#0000

Codecov Report

Merging #90 (742aa60) into main (738e303) will increase coverage by 0.46%.
The diff coverage is 94.77%.

@@            Coverage Diff             @@
##             main      #90      +/-   ##
==========================================
+ Coverage   82.38%   82.84%   +0.46%
==========================================
  Files          46       48       +2
  Lines        1141     1399     +258
  Branches      111       92      -19
==========================================
+ Hits          940     1159     +219
- Misses        159      193      +34
- Partials       42       47       +5

Impacted Files
Coverage Δ

...sageArchive.Processing/LogParsers/LogParserEbix.cs
94.52% <94.52%> (ø)

...Archive.PersistanceModels/TransactionRecordEbix.cs
100.00% <100.00%> (ø)

...sageArchive.Processing/LogParsers/LogParserJson.cs
96.80% <100.00%> (+4.23%)
:arrow_up:

...ssageArchive.Processing/LogParsers/ParserFinder.cs
82.97% <100.00%> (-7.35%)
:arrow_down:

....MessageArchive.Persistence/Services/BlobReader.cs
55.73% <0.00%> (-32.95%)
:arrow_down:

...Processing/LogParsers/LogParserErrorResponseXml.cs
76.92% <0.00%> (-23.08%)
:arrow_down:

...ginet.DataHub.MessageArchive.Common/StartupBase.cs
82.19% <0.00%> (-12.33%)
:arrow_down:

...e.Processing/LogParsers/LogParserBlobProperties.cs
96.55% <0.00%> (-3.45%)
:arrow_down:

...b.MessageArchive.Processing/Models/BlobItemData.cs
100.00% <0.00%> (ø)

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Description of gdscript exported variables not showing in inspector when using export_category

Tested versions

Reproducible in v4.2.1.stable.official [b09f793f5]

System information
Windows 11 Pro
Issue description
You can usually use comments starting with ## to write decriptions for exported variables, and they show up in the tooltip in the inspector. E. g.

This does not work when the exported variable belongs to an export category e. g.

The issue seems to go away if there is at least one exported variable that does not belong to an export category e. g.

Steps to reproduce
You can reproduce the issue by just adding an export category to any exported variable in a gdscript file.
The issue seems to go away if there is at least one exported variable that  is not part of a group.
Minimal reproduction project (MRP)
N/A

Duplicate of https://github.com/godotengine/godot/issues/64432#issuecomment-1941676792.
Fixed by #88318 for future 4.3.
Cherry-picked for future 4.2.2.

Thanks for reporting the bug nonetheless!


how stop scan files indexing in visual studio code

how stop scan files indexing in visual studio code

how stop scan files indexing in visual studio code.
php-intellisense ignore exclude files config.

Can you show you configuration of  php.files.exclude and the contents of the Output panel (PHP Language Server).  Look also for a message containing files total.

I also have this issue.
For my php.files.exclude I have tried many combinations. For example "/.vscode-server/" and ".vscode/**/*" and several others. I cannot find the correct way to exclude.
The .vscode-server is in the root for my user of course, and the folders I use for coding are in the ~/code/*
Output of the PHP Language Server:
DEBUG     Checking PHPLS_ALLOW_XDEBUG
DEBUG     The Xdebug extension is loaded (3.2.2)
WARNING   No restart (Unable to read ini: /var/www/vhosts/system/xxx.net/etc/php.ini)
[Info  - 5:57:33 PM] OK!
[Info  - 5:57:36 PM] 2041 files total (unfiltered 2041)
[Info  - 5:57:36 PM] Indexing project for definitions and static references
Parsing file:///var/www/vhosts/xxx.net/.vscode-server/data/User/History/-7169c2f4/bTxN.php
Parsing file:///var/www/vhosts/xxx.net/.vscode-server/data/User/History/-2cb1fb0c/kGdt.php
Parsing file:///var/www/vhosts/xxx.net/.vscode-server/data/User/History/-2cb1fb0c/fGpr.php
... over 2000 more lines ...
... over 2000 more lines ...
... over 2000 more lines ...
Parsing file:///var/www/vhosts/xxx.net/.vscode-server/extensions/zobo.php-intellisense-1.3.3/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupport.php
Parsing file:///var/www/vhosts/xxx.net/.vscode-server/extensions/zobo.php-intellisense-1.3.3/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilities.php
[Warn  - 5:58:09 PM] Could not compute cache key for felixfbecker/language-server-protocol
[Info  - 5:58:09 PM] Restored felixfbecker/advanced-json-rpc:3.2.1 from cache
[Info  - 5:58:09 PM] Restored phpstan/phpdoc-parser:1.23.1 from cache
[Info  - 5:58:09 PM] All 2041 PHP files parsed in 32 seconds. 226 MiB allocated.

Try **/.vscode-server/"

Tried that. What finally works is absolute path:
"/var/www/vhosts/xxx.net/.vscode-server/**/*"
And on another server:
"/home/xxx/.vscode-server/**/*"
All good now. This has been bugging me for a while. Should add this to the readme for remote ssh vscode!

Indeed the docs say differently. I will recheck this.


HowLongToBeat integration

Would it be possible for HowLongToBeat add-on data to be shown in the game details?

I can try
Will check this addon.
I'm not using it so need at least install and and look into it


Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'. Execution failed for task ':app:buildCMakeDebug[x86]'

Description
AwesomeProject android compile failed
Steps to reproduce
npx react-native@latest init AwesomeProject --skip-install
cd AwesomeProject
yarn install
yarn start
The project works well
delete AwesomeProject dir
npx react-native@latest init AwesomeProject --skip-install
open file "AwesomeProject/android/gradle.properties", change "newArchEnabled=false" to "newArchEnabled=true"
cd AwesomeProject
yarn install
yarn start
Sometimes, Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.
Sometimes, Execution failed for task ':app:buildCMakeDebug[x86]'.
React Native Version
0.73.6
Affected Platforms
Runtime - Android
Areas
Other (please specify)
Output of npx react-native info
System:
OS: Windows 10 10.0.18363
CPU: (6) x64 Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz
Memory: 7.93 GB / 15.87 GB
Binaries:
Node:
version: 20.11.1
path: C:\Program Files\nodejs\node.EXE
Yarn:
version: 4.1.1
path: C:\Program Files\nodejs\yarn.CMD
npm:
version: 10.2.4
path: C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
Android NDK:
Windows SDK:
AllowDevelopmentWithoutDevLicense: Disabled
AllowAllTrustedApps: Enabled
Versions:
- 10.0.18362.0
IDEs:
Android Studio: Not Found
Visual Studio:
- 17.8.34511.84 (Visual Studio Community 2022)
Languages:
Java: 17.0.10
Ruby: Not Found
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.73.6
wanted: 0.73.6
react-native-windows: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: Not found

Stacktrace or Logs
Execution failed for task ':app:buildCMakeDebug[x86]'.

Unable to delete file 'G:\Dev\ReactNative\AwesomeProject\android\app\build\intermediates\cxx\Debug\3w702xfp\obj\x86'

Screenshots and Videos

Sometimes, Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.

Sometimes, Execution failed for task ':app:buildCMakeDebug[x86]'.

Can you remove the folder:
android/app/build

and try again?

The issue you're having is not related to React Native per se.
Please try to do the following:
cd android && ./gradlew --stop

as suggested online here:
https://stackoverflow.com/a/33943562


[Bug/Glitch] Crouch state saves when exiting without saving

Legacy4J Version
1.21.0 -1.7.2
Mod Loader Version
Fabric 0.16.0
Bug/Glitch Occurrence Context
This is incredibly minor, but if you exit a world without saving the game the game will still save if you were crouching or not
Crash Report
No response
What happened wrong?
The game should not save the crouching state when exiting without saving

This is part of #526


Error while searching for peers for an unknown reason.

I just deployed to tow android devices with Android 10, as soon as I start the search for peers, the message "Discovery failed : Error" without further information.

Yeah, dunno what is up. I ported this code 7 years ago and I have no recollection of it. Sorry to say it, but you are on your own debugging this.

Thanks for the update, now it is working properly even I still don't know the reason for the error, but a question regarding the sample, theoretically speaking, would it be able to find any kind of device available on the network like windows 8/10 or each OS has his own API to work with?

@MedFehmiEBF only tested it with Android to Android connections. Read the Android docs 😄


Implement more information to display on template model landing page

Description: Implement the mock up created in #165

Closed by #168


Start HTTP proxy with tailscaled

Closes #5
This adds an outbound HTTP proxy to TailScale on port 1054 and then updates the HTTP and HTTPS env vars to use it rather than the SOCKS proxy. This should result in better compatibility for tools like the AWS CLI and Kubectl.

@michael-careplanner thanks! much appreciated on the PRs

@chrisgoffinet No problem, thanks for merging so quickly! When you have some spare time would you mind doing a release for this PR? Thanks in advance!

@michael-careplanner sure. it's now published.