Skip to content

Commit

Permalink
Deploying to gh-pages from @ 40c42a0 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
Turbo87 committed Jun 23, 2023
1 parent cd23b90 commit fc7c288
Show file tree
Hide file tree
Showing 7 changed files with 217 additions and 42 deletions.
160 changes: 160 additions & 0 deletions 2023/06/23/improved-api-tokens-for-crates-io.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Improved API tokens for crates.io | Rust Blog</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="description" content="Empowering everyone to build reliable and efficient software.">
<!-- Twitter card -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@rustlang">
<meta name="twitter:creator" content="@rustlang">
<meta name="twitter:title" content="Improved API tokens for crates.io | Rust Blog">
<meta name="twitter:description" content="Empowering everyone to build reliable and efficient software.">
<meta name="twitter:image" content="https://www.rust-lang.org/static/images/rust-social.jpg">

<!-- Facebook OpenGraph -->
<meta property="og:title" content="Improved API tokens for crates.io | Rust Blog" />
<meta property="og:description" content="Empowering everyone to build reliable and efficient software.">
<meta property="og:image" content="https://www.rust-lang.org/static/images/rust-social-wide.jpg" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="en_US" />

<!-- styles -->
<link rel="stylesheet" href="../../../styles/vendor.css"/>
<link rel="stylesheet" href="../../../styles/fonts.css"/>
<link rel="stylesheet" href="../../../styles/app.css"/>
<link rel="stylesheet" href="../../../styles/highlight.css"/>

<!-- favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="../../../images/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="../../../images/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../../../images/favicon-32x32.png">
<link rel="icon" type="image/svg+xml" href="../../../images/favicon.svg">
<link rel="manifest" href="../../../images/site.webmanifest">
<link rel="mask-icon" href="../../../images/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#00aba9">
<meta name="theme-color" content="#ffffff">

<!-- atom -->
<link type="application/atom+xml" rel="alternate" href="https://blog.rust-lang.org/feed.xml" title="Rust Blog" />

</head>
<body>
<nav class="flex flex-row justify-center justify-end-l items-center flex-wrap ph2 pl3-ns pr4-ns">
<div class="brand flex-auto w-100 w-auto-l self-start tc tl-l">
<a href="../../../">
<img class="v-mid ml0-l" alt="Rust Logo" src="../../../images/rust-logo-blk.svg">
<span class="dib ml1 ml0-l">Rust Blog</span>
</a>
</div>

<ul class="nav list w-100 w-auto-l flex flex-none flex-row flex-wrap justify-center justify-end-l items-center pv2 ph0 ph4-ns">
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org">Rust</a></li>
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org/tools/install">Install</a></li>
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org/learn">Learn</a></li>
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org/tools">Tools</a></li>
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org/governance">Governance</a></li>
<li class="tc pv2 ph2 ph4-ns flex-20-s"><a href="https://www.rust-lang.org/community">Community</a></li>
</ul>
</nav>

<section id="Improved API tokens for crates.io" class="white">
<div class="w-100 mw-none ph3 mw8-m mw8-l center f3">
<header>
<h2>Improved API tokens for crates.io</h2>
<div class="highlight mt2 mb3"></div>
</header>

<div class="publish-date-author">June 23, 2023 &middot; Tobias Bieniek
on behalf of <a href="https://www.rust-lang.org/governance/teams/crates-io">the crates.io team</a>
</div>

<div class="post">
<p>If you recently generated a new API token on crates.io, you might have noticed
our new API token creation page and some of the new features it now supports.</p>
<p>Previously, when clicking the &quot;New Token&quot; button on <a href="https://crates.io/settings/tokens">https://crates.io/settings/tokens</a>,
you were only provided with the option to choose a token name, without any
additional choices. We knew that we wanted to offer our users more flexibility,
but in the previous user interface that would have been difficult, so our first
step was to build a proper &quot;New API Token&quot; page.</p>
<p>Our roadmap included two essential features known as &quot;token scopes&quot;. The first
of them allows you to restrict API tokens to specific operations. For instance,
you can configure a token to solely enable the publishing of new versions for
existing crates, while disallowing the creation of new crates. The second one
offers an optional restriction where tokens can be limited to only work for
specific crate names. If you want to read more about how these features
were planned and implemented you can take a look at our corresponding
<a href="https://github.com/rust-lang/crates.io/issues/5443">tracking issue</a>.</p>
<p>To further enhance the security of crates.io API tokens, we prioritized the
implementation of expiration dates. Since we had already touched most of the
token-related code this was relatively straight-forward. We are delighted to
announce that our &quot;New API Token&quot; page now supports endpoint scopes, crate
scopes and expiration dates:</p>
<p><img src="/images/2023-06-23-improved-api-tokens-for-crates-io/new-api-token-page.png" alt="Screenshot of the &quot;New API Token&quot; page" /></p>
<p>Similar to the API token creation process on github.com, you can choose to not
have any expiration date, use one of the presets, or even choose a custom
expiration date to suit your requirements.</p>
<p>If you come across any issues or have questions, feel free to reach out to us on
<a href="https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io/topic/token.20scopes">Zulip</a>
or open an issue on <a href="https://github.com/rust-lang/crates.io/issues/new/choose">GitHub</a>.</p>
<p>Lastly, we, the crates.io team, would like to express our gratitude to the
<a href="https://openssf.org/community/alpha-omega/">OpenSSF's Alpha-Omega Initiative</a>
and <a href="https://jfrog.com/blog/jfrog-joins-rust-foundation-as-platinum-member/">JFrog</a>
for their contributions to the <a href="https://rustfoundation.org">Rust Foundation</a>
security initiative. Their support has been instrumental in enabling us to
implement these features and undertake extensive security-related work on the
crates.io codebase over the past few months.</p>

</div>
</div>
</section>

<footer>
<div class="w-100 mw-none ph3 mw8-m mw9-l center f3">
<div class="row">
<div class="four columns mt3 mt0-l" id="get-help">
<h4>Get help!</h4>
<ul>
<li><a href="https://doc.rust-lang.org" target="_blank" rel="noopener">Documentation</a></li>
<li><a href="mailto:[email protected]">Contact the Rust Team</a></li>
</ul>
</div>
<div class="four columns mt3 mt0-l">
<h4>Terms and policies</h4>
<ul>
<li><a href="https://www.rust-lang.org/policies/code-of-conduct">Code of Conduct</a></li>
<li><a href="https://www.rust-lang.org/policies/licenses">Licenses</a></li>
<li><a href="https://www.rust-lang.org/policies/media-guide">Logo Policy and Media Guide</a></li>
<li><a href="https://www.rust-lang.org/policies/security">Security Disclosures</a></li>
<li><a href="https://www.rust-lang.org/policies">All Policies</a></li>
</ul>
</div>
<div class="four columns mt3 mt0-l">
<h4>Social</h4>
<div class="flex flex-row flex-wrap">
<a href="https://twitter.com/rustlang" target="_blank" rel="noopener" alt="twitter link"><img src="../../../images/twitter.svg" alt="twitter logo" title="Twitter"/></a>
<a href="https://www.youtube.com/channel/UCaYhcUwRBNscFNUKTjgPFiA" target="_blank" rel="noopener" alt="youtube link"><img style="padding-top: 6px; padding-bottom:6px" src="../../../images/youtube.svg" alt="youtube logo" title="YouTube"/></a>
<a href="https://discord.gg/rust-lang" target="_blank" rel="noopener" alt="discord link"><img src="../../../images/discord.svg" alt="discord logo" title="Discord"/></a>
<a href="https://github.com/rust-lang" target="_blank" rel="noopener" alt="github link"><img src="../../../images/github.svg" alt="github logo" title="GitHub"/></a>
</div>
<h4 class="mt4 mb3">RSS</h4>
<ul>
<li><a href="../../../feed.xml">Main Blog</a></li>
<li><a href="../../../inside-rust/feed.xml">"Inside Rust" Blog</a></li>
</ul>
</div>

</div>
<div class="attribution">
Maintained by the Rust Team. See a typo?
<a href="https://github.com/rust-lang/blog.rust-lang.org" target="_blank" rel="noopener">Send a fix here</a>!
</div>
</div>
</footer>

<!-- scripts -->
<script src="../../../scripts/highlight.js"></script>

</body>
</html>
87 changes: 48 additions & 39 deletions feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,56 @@
<name>Maintained by the Rust Teams.</name>
<uri>https://github.com/rust-lang/blog.rust-lang.org/</uri>
</author>
<updated>2023-06-22T16:41:30+00:00</updated>
<updated>2023-06-23T09:26:30+00:00</updated>


<entry>
<title>Improved API tokens for crates.io</title>
<link rel="alternate" href="https://blog.rust-lang.org/2023/06/23/improved-api-tokens-for-crates-io.html" type="text/html" title="Improved API tokens for crates.io" />
<published>2023-06-23T00:00:00+00:00</published>
<updated>2023-06-23T00:00:00+00:00</updated>
<id>https://blog.rust-lang.org/2023/06/23/improved-api-tokens-for-crates-io.html</id>
<content type="html" xml:base="https://blog.rust-lang.org/2023/06/23/improved-api-tokens-for-crates-io.html">&lt;p&gt;If you recently generated a new API token on crates.io, you might have noticed
our new API token creation page and some of the new features it now supports.&lt;/p&gt;
&lt;p&gt;Previously, when clicking the &amp;quot;New Token&amp;quot; button on &lt;a href&#x3D;&quot;https://crates.io/settings/tokens&quot;&gt;https://crates.io/settings/tokens&lt;/a&gt;,
you were only provided with the option to choose a token name, without any
additional choices. We knew that we wanted to offer our users more flexibility,
but in the previous user interface that would have been difficult, so our first
step was to build a proper &amp;quot;New API Token&amp;quot; page.&lt;/p&gt;
&lt;p&gt;Our roadmap included two essential features known as &amp;quot;token scopes&amp;quot;. The first
of them allows you to restrict API tokens to specific operations. For instance,
you can configure a token to solely enable the publishing of new versions for
existing crates, while disallowing the creation of new crates. The second one
offers an optional restriction where tokens can be limited to only work for
specific crate names. If you want to read more about how these features
were planned and implemented you can take a look at our corresponding
&lt;a href&#x3D;&quot;https://github.com/rust-lang/crates.io/issues/5443&quot;&gt;tracking issue&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To further enhance the security of crates.io API tokens, we prioritized the
implementation of expiration dates. Since we had already touched most of the
token-related code this was relatively straight-forward. We are delighted to
announce that our &amp;quot;New API Token&amp;quot; page now supports endpoint scopes, crate
scopes and expiration dates:&lt;/p&gt;
&lt;p&gt;&lt;img src&#x3D;&quot;/images/2023-06-23-improved-api-tokens-for-crates-io/new-api-token-page.png&quot; alt&#x3D;&quot;Screenshot of the &amp;quot;New API Token&amp;quot; page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Similar to the API token creation process on github.com, you can choose to not
have any expiration date, use one of the presets, or even choose a custom
expiration date to suit your requirements.&lt;/p&gt;
&lt;p&gt;If you come across any issues or have questions, feel free to reach out to us on
&lt;a href&#x3D;&quot;https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io/topic/token.20scopes&quot;&gt;Zulip&lt;/a&gt;
or open an issue on &lt;a href&#x3D;&quot;https://github.com/rust-lang/crates.io/issues/new/choose&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Lastly, we, the crates.io team, would like to express our gratitude to the
&lt;a href&#x3D;&quot;https://openssf.org/community/alpha-omega/&quot;&gt;OpenSSF&#x27;s Alpha-Omega Initiative&lt;/a&gt;
and &lt;a href&#x3D;&quot;https://jfrog.com/blog/jfrog-joins-rust-foundation-as-platinum-member/&quot;&gt;JFrog&lt;/a&gt;
for their contributions to the &lt;a href&#x3D;&quot;https://rustfoundation.org&quot;&gt;Rust Foundation&lt;/a&gt;
security initiative. Their support has been instrumental in enabling us to
implement these features and undertake extensive security-related work on the
crates.io codebase over the past few months.&lt;/p&gt;
</content>

<author>
<name>Tobias Bieniek</name>
</author>
</entry>

<entry>
<title>Introducing the Rust Leadership Council</title>
<link rel="alternate" href="https://blog.rust-lang.org/2023/06/20/introducing-leadership-council.html" type="text/html" title="Introducing the Rust Leadership Council" />
Expand Down Expand Up @@ -641,44 +688,6 @@ and &lt;a href&#x3D;&quot;https://github.com/rust-lang/rust-clippy/blob/master/C
&lt;p&gt;Many people came together to create Rust 1.68.0.
We couldn&#x27;t have done it without all of you.
&lt;a href&#x3D;&quot;https://thanks.rust-lang.org/rust/1.68.0/&quot;&gt;Thanks!&lt;/a&gt;&lt;/p&gt;
</content>

<author>
<name>The Rust Release Team</name>
</author>
</entry>

<entry>
<title>Announcing Rust 1.67.1</title>
<link rel="alternate" href="https://blog.rust-lang.org/2023/02/09/Rust-1.67.1.html" type="text/html" title="Announcing Rust 1.67.1" />
<published>2023-02-09T00:00:00+00:00</published>
<updated>2023-02-09T00:00:00+00:00</updated>
<id>https://blog.rust-lang.org/2023/02/09/Rust-1.67.1.html</id>
<content type="html" xml:base="https://blog.rust-lang.org/2023/02/09/Rust-1.67.1.html">&lt;p&gt;The Rust team has published a new point release of Rust, 1.67.1. Rust is a
programming language that is empowering everyone to build reliable and
efficient software.&lt;/p&gt;
&lt;p&gt;If you have a previous version of Rust installed via rustup, you can get 1.67.1 with:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;rustup update stable
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don&#x27;t have it already, you can &lt;a href&#x3D;&quot;https://www.rust-lang.org/install.html&quot;&gt;get &lt;code&gt;rustup&lt;/code&gt;&lt;/a&gt;
from the appropriate page on our website, and check out the
&lt;a href&#x3D;&quot;https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1671-2023-02-09&quot;&gt;detailed release notes for 1.67.1&lt;/a&gt; on GitHub.&lt;/p&gt;
&lt;h2&gt;&lt;a href&#x3D;&quot;#whats-in-1671-stable&quot; aria-hidden&#x3D;&quot;true&quot; class&#x3D;&quot;anchor&quot; id&#x3D;&quot;whats-in-1671-stable&quot;&gt;&lt;/a&gt;What&#x27;s in 1.67.1 stable&lt;/h2&gt;
&lt;p&gt;Rust 1.67.1 fixes a regression for projects that link to thin archives
(&lt;code&gt;.a&lt;/code&gt; files that reference external &lt;code&gt;.o&lt;/code&gt; objects). The new
archive writer in 1.67.0 could not read thin archives as inputs, leading to the
error &amp;quot;Unsupported archive identifier.&amp;quot; The compiler now uses LLVM&#x27;s archive
writer again, until that format is supported in the new code.&lt;/p&gt;
&lt;p&gt;Additionally, the clippy style lint &lt;code&gt;uninlined_format_args&lt;/code&gt; is temporarily
downgraded to pedantic -- allowed by default. While the compiler has supported
this format since Rust 1.58, &lt;code&gt;rust-analyzer&lt;/code&gt; does not support it yet, so it&#x27;s
not necessarily good to use that style everywhere possible.&lt;/p&gt;
&lt;p&gt;The final change is a soundness fix in Rust&#x27;s own bootstrap code. This had no
known problematic uses, but it did raise an error when bootstrap was compiled
with 1.67 itself, rather than the prior 1.66 release as usual.&lt;/p&gt;
&lt;h3&gt;&lt;a href&#x3D;&quot;#contributors-to-1671&quot; aria-hidden&#x3D;&quot;true&quot; class&#x3D;&quot;anchor&quot; id&#x3D;&quot;contributors-to-1671&quot;&gt;&lt;/a&gt;Contributors to 1.67.1&lt;/h3&gt;
&lt;p&gt;Many people came together to create Rust 1.67.1. We couldn&#x27;t have done it
without all of you. &lt;a href&#x3D;&quot;https://thanks.rust-lang.org/rust/1.67.1/&quot;&gt;Thanks!&lt;/a&gt;&lt;/p&gt;
</content>

<author>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@
<td class="bn"></td>
<td class="bn"><h3 class="f0-l f1-m f2-s mt4 mb0">Posts in 2023</h3></td>
</tr>
<tr>
<td class="tr o-60 pr4 pr5-l bn">June&nbsp;23</td>
<td class="bn"><a href="2023/06/23/improved-api-tokens-for-crates-io.html">Improved API tokens for crates.io</a></td>
</tr>


<tr>
<td class="tr o-60 pr4 pr5-l bn">June&nbsp;20</td>
<td class="bn"><a href="2023/06/20/introducing-leadership-council.html">Introducing the Rust Leadership Council</a></td>
Expand Down
2 changes: 1 addition & 1 deletion inside-rust/feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<name>Maintained by the Rust Teams.</name>
<uri>https://github.com/rust-lang/blog.rust-lang.org/</uri>
</author>
<updated>2023-06-22T16:41:29+00:00</updated>
<updated>2023-06-23T09:26:28+00:00</updated>


<entry>
Expand Down
2 changes: 1 addition & 1 deletion inside-rust/releases.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"releases":[],"feed_updated":"2023-06-22T16:41:29+00:00"}
{"releases":[],"feed_updated":"2023-06-23T09:26:28+00:00"}
Loading

0 comments on commit fc7c288

Please sign in to comment.