<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Pakyow Blog</title>
    <description>
      <![CDATA[The design-first web framework for design-focused teams.]]>
    </description>
    <atom:link href="https://pakyow.com/blog/feed/" rel="self" type="application/rss+xml"/>
    <link>https://pakyow.com/blog/</link>
    <language>en-US</language>
    <lastBuildDate>Thu, 03 Sep 2020 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Pakyow v1.0.6 Released</title>
      <description>
        <![CDATA[<p>Pakyow v1.0.6 was just released. This is a patch-level release that includes a single bug fix:</p>
]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Pakyow v1.0.6 was just released. This is a patch-level release that includes a single bug fix:</p>

<ul>
<li>Updates <code>miniracer</code> to <code>0.3</code>, allowing Pakyow projects to run on <code>alpine</code> containers.</li>
</ul>

<p>Many thanks to <a href="https://github.com/waghanza">Marwan Rabbâa</a> for contributing this fix!</p>

<p>For a full summary of changes, please refer to the release on GitHub:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/releases/tag/v1.0.6">Pakyow v1.0.6 Release Notes</a></li>
</ul>

<p>You can also see all of the commits that make up this release:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/compare/v1.0.5...v1.0.6">Pakyow v1.0.6 Commits</a></li>
</ul>

<h2>Upgrading from Pakyow v1.0.5</h2>

<p>This release is backwards-compatible with Pakyow v1.0.5. Simply update your project&#39;s bundle:</p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle update pakyow
</code></pre></div>
<h2>SHA-256 Checksums</h2>

<p>Here are the checksums for Pakyow v1.0.6:</p>
<div class="highlight"><pre class="highlight plaintext"><code>4b9ecbb47904d41d5be0bcd6b82fb3b60c4daa9b  pakyow-1.0.6.gem
e0251aa442462ebbf610904930365811a2f48133  pakyow-assets-1.0.6.gem
c5e7e43e4a0143fd0e7f20a8fe3245e2a8f98702  pakyow-core-1.0.6.gem
a7dee38e7fb24878d4b0d9a19e5b41357315064a  pakyow-data-1.0.6.gem
21b1583a61a7aa77c9fb7dd9776e2969d7fcf979  pakyow-form-1.0.6.gem
be8bad7d170f1197ba7b5b0a94d764e016265712  pakyow-mailer-1.0.6.gem
b93ddfc82451baf554329a67e7ca3fdea6e9fc25  pakyow-presenter-1.0.6.gem
3583fb12156a82ab204d08ce5ec1da1bd3d7c56c  pakyow-realtime-1.0.6.gem
594e6c48d22a7d487b890429cde640e9c92805b8  pakyow-reflection-1.0.6.gem
82c7127c9ce644eea8d84c90f70eadb4ab135603  pakyow-routing-1.0.6.gem
778f74228099ccd3dee58df48452326aa9e49c51  pakyow-support-1.0.6.gem
5312bdbee525370fd3021ac8465384f03827906c  pakyow-ui-1.0.6.gem
</code></pre></div>]]>
      </content:encoded>
      <link>https://pakyow.com/blog/1-0-6</link>
      <guid isPermaLink="true">https://pakyow.com/blog/1-0-6</guid>
      <pubDate>Thu, 03 Sep 2020 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pakyow v1.0.4 Released</title>
      <description>
        <![CDATA[<p>Pakyow v1.0.4 was just released. This is a patch-level release that includes several bug fixes:</p>
]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Pakyow v1.0.4 was just released. This is a patch-level release that includes several bug fixes:</p>

<ul>
<li><p>External asset uris are correctly escaped so they do not fail on fetch.</p></li>
<li><p>Header values are typecast to strings, fixing an incompatibility with <code>protocol-http</code> 0.13.1.</p></li>
</ul>

<p>For a full summary of changes, please refer to the release on GitHub:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/releases/tag/v1.0.4">Pakyow v1.0.4 Release Notes</a></li>
</ul>

<p>You can also see all of the commits that make up this release:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/compare/v1.0.3...v1.0.4">Pakyow v1.0.4 Commits</a></li>
</ul>

<h2>Upgrading from Pakyow v1.0.3</h2>

<p>This release is backwards-compatible with Pakyow v1.0.3. Simply update your project&#39;s bundle:</p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle update pakyow
</code></pre></div>
<h2>SHA-256 Checksums</h2>

<p>Here are the checksums for Pakyow v1.0.4:</p>
<div class="highlight"><pre class="highlight plaintext"><code>2ed6272aff32d79d19e2d88ea842a59f360b1d76e73bb886b1f17132ad8d726f  pakyow-1.0.4.gem
2bc1c09c732fee1e1c84c8f83903df2aad1428e87229c07c20a4025fdf2879e3  pakyow-assets-1.0.4.gem
2994ba3fcaec768f679d19812a47b9d0fdfd3d821bed9e22a8912e660a82abfc  pakyow-core-1.0.4.gem
d85a17ca7c59e2d22cb11f78ced731f36576bd57adfb074a65e104c3dcd879cb  pakyow-data-1.0.4.gem
c11ca449e9b4f09099899ede7d3591ec6cfc69ca205506fdfce598eaa0481b9f  pakyow-form-1.0.4.gem
d9f70003f3c3739b27cbb5d04f2cb33dac5acfa37af19915fa27f3fba76b9e90  pakyow-mailer-1.0.4.gem
a5932756db09b3d98773f5954a5783fda719522d396351c3b05628f4ffa0b5cd  pakyow-presenter-1.0.4.gem
a560f46c5d236cb86bc6b6c98644767700174d03eca073b239ec4953c3fdb8dd  pakyow-realtime-1.0.4.gem
7052e0bb6c5d49a1aa873203c9eddb0f4aedc1141ee43cb936be4b2dfc07db91  pakyow-reflection-1.0.4.gem
3ca86ae8fe2071e5554b8f5d62d8bdc55fd45c936bea2cd13bf3ab7ce2be1baa  pakyow-routing-1.0.4.gem
3066236aaa7ffbf492f142275fd29982d776a32428b5761865e9a12b325a1fbe  pakyow-support-1.0.4.gem
32e6593864f1c97611ea85bd107682cbb83d73ca80c6f3f447624d60e20ac36f  pakyow-ui-1.0.4.gem
</code></pre></div>]]>
      </content:encoded>
      <link>https://pakyow.com/blog/1-0-4</link>
      <guid isPermaLink="true">https://pakyow.com/blog/1-0-4</guid>
      <pubDate>Thu, 20 Feb 2020 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pakyow v1.0.3 Released</title>
      <description>
        <![CDATA[<p>Pakyow v1.0.3 was just released. This is a patch-level release that includes several bug fixes:</p>
]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Pakyow v1.0.3 was just released. This is a patch-level release that includes several bug fixes:</p>

<ul>
<li><p>Pakyow v1.0.3 is fully compatible with the upcoming Ruby 2.7.0 release!</p></li>
<li><p>Projects that fail to boot will exit gracefully instead of getting stuck in a restart loop.</p></li>
<li><p>Projects now boot the number of server processes specified by <code>config.server.count</code>. Previous releases would only boot one server process, regardless of how the project was configured.</p></li>
</ul>

<p>For a full summary of changes, please refer to the release on GitHub:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/releases/tag/v1.0.3">Pakyow v1.0.3 Release Notes</a></li>
</ul>

<p>You can also see all of the commits that make up this release:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/compare/v1.0.2...v1.0.3">Pakyow v1.0.3 Commits</a></li>
</ul>

<h2>Upgrading from Pakyow v1.0.2</h2>

<p>This release is backwards-compatible with Pakyow v1.0.2. Simply update your project&#39;s bundle:</p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle update pakyow
</code></pre></div>
<h2>SHA-256 Checksums</h2>

<p>Here are the checksums for Pakyow v1.0.3:</p>
<div class="highlight"><pre class="highlight plaintext"><code>abb5ca6d11365b7d423795a9a5b7e784558dc953dfee1a6ee083fe888601d4fe  pakyow-1.0.3.gem
3dc1df14bbd56da2d7866f65b3ac6d4e0da571e60f21721fc2b86661ad08677b  pakyow-assets-1.0.3.gem
e3c60f5493e6e4938dfbec0369e0319a1f2368bca7493b69ad6903fd95f3b1b0  pakyow-core-1.0.3.gem
5237e91790ebf56e4795b22d29bcd4b0aaa25789c8c136b5fa73d9514eb96a15  pakyow-data-1.0.3.gem
d4a50437faa8cedccf4167bbd827ec83bcb14c7cbf7f302067f7e86404e3d711  pakyow-form-1.0.3.gem
16bed5fb6da734758750200305a77e6d2489a440d5b7888a2095b3ec9f8f12a8  pakyow-mailer-1.0.3.gem
c8716a4258214dbe4b2921f6c281d889f9ae41b60dedaf84ec9444ef044b9b2b  pakyow-presenter-1.0.3.gem
37e7ed57d4295395515b607446ae4dc8198a0b95c8117b58a173348b8f1aeccf  pakyow-realtime-1.0.3.gem
7eef53cb97b7d16ca8168f9ef12ea24aaeabf627f2f56a8a079f35cd0608739d  pakyow-reflection-1.0.3.gem
dc076985f7edf73a90218bbab5480acd2e4911a71ccaf99f1003582b8e65ac3f  pakyow-routing-1.0.3.gem
7e1969aa52b243c6a4ea7dac115b486a51a23d59ba5c8c417f7de67b3167fca9  pakyow-support-1.0.3.gem
31ab1e1fcd2c911192ea67b536864b33fbcb5123a18f9c3dabaee51b02807dfd  pakyow-ui-1.0.3.gem
</code></pre></div>]]>
      </content:encoded>
      <link>https://pakyow.com/blog/1-0-3</link>
      <guid isPermaLink="true">https://pakyow.com/blog/1-0-3</guid>
      <pubDate>Sun, 15 Dec 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Pakyow v1.0.2 Released</title>
      <description>
        <![CDATA[<p>Pakyow v1.0.2 was released this week. This is a patch-level release that includes several bug fixes:</p>
]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Pakyow v1.0.2 was released this week. This is a patch-level release that includes several bug fixes:</p>

<ul>
<li><p>Request paths are now relative to the app&#39;s mount path. For example, if an <code>api</code> app is mounted at <code>/api</code>, a request to <code>/api/posts</code> will appear as <code>/posts</code> within the app. This allows an app&#39;s mount path to change without affecting the app&#39;s internal logic.</p>
<div class="highlight"><pre class="highlight ruby"><code><span class="no">Pakyow</span><span class="p">.</span><span class="nf">app</span> <span class="ss">:api</span><span class="p">,</span> <span class="s2">"/api"</span> <span class="k">do</span>
  <span class="n">resource</span> <span class="ss">:posts</span><span class="p">,</span> <span class="s2">"/posts"</span> <span class="k">do</span>
    <span class="n">list</span> <span class="k">do</span>
      <span class="nb">puts</span> <span class="n">connection</span><span class="p">.</span><span class="nf">path</span>
      <span class="c1"># =&gt; "/posts"</span>
    <span class="k">end</span>
  <span class="k">end</span>
<span class="k">end</span>
</code></pre></div></li>
<li><p>Associating data sources across connections now works correctly. For example, associations can be defined between data sources for different databases, or even different adapters.</p>
<div class="highlight"><pre class="highlight ruby"><code><span class="no">Pakyow</span><span class="p">.</span><span class="nf">configure</span> <span class="k">do</span>
  <span class="n">config</span><span class="p">.</span><span class="nf">data</span><span class="p">.</span><span class="nf">connections</span><span class="p">.</span><span class="nf">sql</span><span class="p">[</span><span class="ss">:mysql</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"mysql2://localhost/foo"</span>
  <span class="n">config</span><span class="p">.</span><span class="nf">data</span><span class="p">.</span><span class="nf">connections</span><span class="p">.</span><span class="nf">sql</span><span class="p">[</span><span class="ss">:postgres</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"postgres://localhost/bar"</span>
<span class="k">end</span>

<span class="no">Pakyow</span><span class="p">.</span><span class="nf">app</span> <span class="ss">:assoc</span> <span class="k">do</span>
  <span class="n">source</span> <span class="ss">:foos</span><span class="p">,</span> <span class="ss">connection: :mysql</span> <span class="k">do</span>
    <span class="n">has_many</span> <span class="ss">:bars</span>
  <span class="k">end</span>

  <span class="n">source</span> <span class="ss">:bars</span><span class="p">,</span> <span class="ss">connection: :postgres</span> <span class="k">do</span>
    <span class="n">belongs_to</span> <span class="ss">:foo</span>
  <span class="k">end</span>

  <span class="n">controller</span> <span class="k">do</span>
    <span class="n">default</span> <span class="k">do</span>
      <span class="n">foos</span> <span class="o">=</span> <span class="n">data</span><span class="p">.</span><span class="nf">foos</span><span class="p">.</span><span class="nf">including</span><span class="p">(</span><span class="ss">:bars</span><span class="p">)</span>

      <span class="o">...</span>
    <span class="k">end</span>
  <span class="k">end</span>
<span class="k">end</span>
</code></pre></div></li>
<li><p>Pakyow data types are now compatible with <code>dry-types</code> v1.2.0. It is no longer necessary to lock <code>dry-types</code> at v1.1.1 in your project&#39;s <code>Gemfile</code>.</p></li>
<li><p>Backend aspects now load alphabetically on every system.</p></li>
</ul>

<p>For a full summary of changes, please refer to the release on GitHub:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/releases/tag/v1.0.2">Pakyow v1.0.2 Release Notes</a></li>
</ul>

<p>You can also see all of the commits that make up this release:</p>

<ul>
<li><a href="https://github.com/pakyow/pakyow/compare/v1.0.1...v1.0.2">Pakyow v1.0.2 Commits</a></li>
</ul>

<h2>Upgrading from Pakyow v1.0.1</h2>

<p>This release is backwards-compatible with Pakyow v1.0.1. Simply update your project&#39;s bundle:</p>
<div class="highlight"><pre class="highlight plaintext"><code>bundle update pakyow
</code></pre></div>
<h2>SHA-256 Checksums</h2>

<p>Here are the checksums for Pakyow v1.0.2:</p>
<div class="highlight"><pre class="highlight plaintext"><code>1827e59f21dcb1026dc3ccf403b55dcbefdfc0ca9da851ba49bbdf8f481018b0  pakyow-1.0.2.gem
cf70c3f8e92e1c36f896396d86f56d8a539c77997d1d2f2c8c3bb2b8361b56f5  pakyow-assets-1.0.2.gem
9ac5403a41847bc2e62cb7fb356cfeed9fc891cfeaf2d7b34e28e3581776bc65  pakyow-core-1.0.2.gem
41f9c7bde6cd701ac6c979cf9ccb71828141abd246ee2b8518480d09fb8c83a6  pakyow-data-1.0.2.gem
694a891a98b253151d7d4f404941baa746ac6d37819ca549b98bebab8de48c7c  pakyow-form-1.0.2.gem
729010ab9236588cb43faf45c3d0ebbea887fdc49418eea4ef689674c562b5ae  pakyow-mailer-1.0.2.gem
8fbdc4a0f8c3a74dfe7130398902cc8916d7a94925caf6bc67f10c513b7a3e9a  pakyow-presenter-1.0.2.gem
6874cc29884dbbedbe4583e6072401997ea0534c2bbc6ccb2ff9b18d470bd8e2  pakyow-realtime-1.0.2.gem
a6130451d8b498d5d74a0666e9c7e4115061ed581ae4bebcec584024148a8bea  pakyow-reflection-1.0.2.gem
484eb9c69bbda504dc8329125387d6b715103ca833d7e453923aba9f4fcb2228  pakyow-routing-1.0.2.gem
b315dc533d20c06ee7bb1f5409c24b62930ef9ed49dad85ba06413b3e7a129bc  pakyow-support-1.0.2.gem
4a35de1ebdc4032f90f29beb2428ac647bc27d0b16e52e8dc5ab169517b774ca  pakyow-ui-1.0.2.gem
</code></pre></div>]]>
      </content:encoded>
      <link>https://pakyow.com/blog/1-0-2</link>
      <guid isPermaLink="true">https://pakyow.com/blog/1-0-2</guid>
      <pubDate>Wed, 06 Nov 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Announcing Pakyow v1.0</title>
      <description>
        <![CDATA[<p>I&#39;m happy to announce the v1.0 release of Pakyow! Years ago we set out to design a better way to build for the web. The result is a full stack of open-source frameworks that bring a simpler, design-first approach to let you create more with what you already know.</p>
]]>
      </description>
      <content:encoded>
        <![CDATA[<p>I&#39;m happy to announce the v1.0 release of Pakyow! Years ago we set out to design a better way to build for the web. The result is a full stack of open-source frameworks that bring a simpler, design-first approach to let you create more with what you already know.</p>

<p>Here&#39;s how it works:</p>

<ol>
<li><p><strong>Prototype:</strong> Create an in-browser prototype without writing any backend code. Use composable, plain-html view templates to define how your app looks and behaves, then sprinkle data bindings on top to describe the semantic intent behind your interface.</p></li>
<li><p><strong>Reflect:</strong> While you prototype, Pakyow reflects on your views to bootstrap a complete backend to make your interface work&mdash;including routes, data models, presenters, and more. The reflection integrates seamlessly with your frontend, giving you a solid foundation to continue building on.</p></li>
<li><p><strong>Iterate:</strong> With the boilerplate taken care of, focus on building what makes your app unique. Any custom code you add runs right alongside the reflection, giving you flexibility where you need it and a secure, standards-based fallback for everything else.</p></li>
</ol>

<h2>Designed for the designers.</h2>

<p>Pakyow lets designers play an active part in building the things they design. Interfaces are built right in the web browser using HTML and CSS, and then extended to become a complete application.</p>

<h2>Live views without breaking a sweat.</h2>

<p>Pakyow UIs stay in sync with server-side state right out of the box. There&#39;s nothing new to learn and no frontend framework to adopt. The UI is rendered on the server like in a traditional stack, but once presented in a browser it automatically reflects new changes without a page refresh.</p>

<h2>Backed by a complete framework.</h2>

<p>Pakyow includes everything you need to create a complete web app or website. The core primitives that Pakyow uses internally are available to you as you need them. Pakyow&#39;s backend, built on Ruby, is designed to make custom code fun to write and easier to maintain long term.</p>

<h2>Responsibly open-source.</h2>

<p>Pakyow is released free and open-source under the terms of the LGPLv3 license. We offer paid team subscriptions that remove some of the restrictions of the LGPL. Team subscriptions also include access to  help directly from the Pakyow Team through a private support channel.</p>

<p>Giving Pakyow away for free and charging for the extra bits on top lets us embrace the open-source ethos in a responsible and sustainable way. Pakyow is our full-time job&mdash;we&#39;re in this for the long haul.</p>

<h2>We hope to see you around.</h2>

<p>Pakyow is ready for use today. If you&#39;re interested in learning more or trying it out for your next project, here are some links to get you started:</p>

<ul>
<li><p><a href="/docs/hello/example">Follow the 5-Minute App guide</a> for a complete example of building a design-first application in Pakyow.</p></li>
<li><p><a href="/docs">Read the docs</a> for all the details on reflection, frontend development, and backend primitives available in Pakyow.</p></li>
<li><p><a href="/pricing">Learn more about team subscriptions</a> and how our business model works.</p></li>
</ul>

<p>I&#39;d love to have you join the project and participate in the community. If not, that&#39;s cool too. Either way your thoughts are welcome. Reach out to me directly: <a href="mailto:bryan@pakyow.com">bryan@pakyow.com</a> or <a href="https://twitter.com/bryanp">@bryanp</a>.</p>

<p>Take care, and thanks for reading.</p>
]]>
      </content:encoded>
      <link>https://pakyow.com/blog/one</link>
      <guid isPermaLink="true">https://pakyow.com/blog/one</guid>
      <pubDate>Tue, 16 Jul 2019 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>

