<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="272609" data-post-id="272609">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="maltoe" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/maltoe/120/18436_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  maltoe
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My company has early-adopted Flop &amp; Flop.Phoenix in May 2021 and we have been using it for admin dashboards in multiple apps since, in production environments. We especially love the sweetspot position Flop.Phoenix takes between “being a logic-less table component” and a full-blown UI generator, giving us enough out-of-the-box functionality while allowing for easy customization. It’s been working like a charm and <a class="mention" href="/u/woylie" rel="nofollow">@woylie</a> has been very generously devoting time to the issues we’ve raised and ideas we had.</p>
<p>Sounds a bit like an advertisement ^^ <img src="https://forum.elixirforum.com/images/emoji/apple/smile.png?v=15" title=":smile:" class="emoji" alt=":smile:" loading="lazy" width="20" height="20">  What I’m trying to say is: This pair of libraries deserves a lot more attention.</p>
<p>Thank you <a class="mention" href="/u/woylie" rel="nofollow">@woylie</a> for all the work <img src="https://forum.elixirforum.com/images/emoji/apple/purple_heart.png?v=15" title=":purple_heart:" class="emoji" alt=":purple_heart:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="272609" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-272609" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="272609"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="274800" data-post-id="274800">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Flop 0.19 comes with custom fields, a new helper for dynamically adding bindings, and a set of filter manipulation functions.</p>
<h3><a name="p-274800-added-1" class="anchor" href="#p-274800-added-1" aria-label="Heading link" rel="nofollow"></a>Added</h3>
<ul>
<li>Support for custom fields. These fields allow you to run custom filter<br>
functions for anything that cannot be expressed with Flop filters.</li>
<li>Added <code>Flop.with_named_bindings/4</code> for dynamically adding bindings needed for<br>
a Flop query.</li>
<li>Added <code>fetch</code>, <code>get</code>, <code>get_all</code>, <code>delete</code>, <code>delete_first</code>, <code>drop</code>, <code>new</code>,<br>
<code>take</code>, <code>pop</code>, <code>pop_first</code>, <code>put</code> and <code>put_new</code> functions to <code>Flop.Filter</code>.</li>
<li>Added <code>Flop.Meta.with_errors/3</code>.</li>
<li>Added <code>ecto_type</code> option to join fields.</li>
<li>Added <code>not_like</code> and <code>not_ilike</code> filter operators.</li>
<li>Added a cheatsheet for schema configuration.</li>
</ul>
<h3><a name="p-274800-changed-2" class="anchor" href="#p-274800-changed-2" aria-label="Heading link" rel="nofollow"></a>Changed</h3>
<ul>
<li>Renamed <code>Flop.bindings/3</code> to <code>Flop.named_bindings/3</code>.</li>
<li><code>Flop.Filter.allowed_operators/2</code> now tries to determine the Ecto type by<br>
reading the Flop field type from the schema module. This function is used<br>
during parameter validation, which means the validation step will be a bit<br>
stricter now. For join and custom fields, the Ecto type is determined via the<br>
new <code>ecto_type</code> option. If the option is not set, the function returns all<br>
operators as before. For compound fields, only the supported operators are<br>
returned.</li>
<li>Added <code>opts</code> field to <code>Flop.Meta</code> struct.</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="274800" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-274800" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="274800"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="282336" data-post-id="282336">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h2><a name="p-282336-flop-0200-1" class="anchor" href="#p-282336-flop-0200-1" aria-label="Heading link" rel="nofollow"></a>Flop 0.20.0</h2>
<h3><a name="p-282336-added-2" class="anchor" href="#p-282336-added-2" aria-label="Heading link" rel="nofollow"></a>Added</h3>
<ul>
<li>Added <code>Flop.unnest_filters/3</code> as a reverse operation of <code>Flop.nest_filters/3</code><br>
after retrieving data from the database.</li>
<li>Added <code>Flop.Filter.fetch_value/2</code>, <code>Flop.Filter.get_value/2</code>,<br>
<code>Flop.Filter.put_value/4</code>, <code>Flop.Filter.put_new_value/4</code>,<br>
<code>Flop.Filter.pop_value/3</code> and <code>Flop.Filter.pop_first_value/3</code>.</li>
</ul>
<h3><a name="p-282336-changed-3" class="anchor" href="#p-282336-changed-3" aria-label="Heading link" rel="nofollow"></a>Changed</h3>
<ul>
<li>Several of the functions for manipulating lists of filters in the<br>
<code>Flop.Filter</code> module now accept lists of maps with atom keys, lists of maps<br>
with string keys, and indexed maps as produced by Phoenix HTML forms as<br>
argument.</li>
<li>The <code>empty</code> and <code>not_empty</code> operators now treat empty maps as empty values on<br>
map fields and empty arrays as empty values on array fields.</li>
<li><code>%</code> and <code>_</code> characters in filter values for the <code>like</code>, <code>ilike</code> and <code>=~</code><br>
operators are now escaped.</li>
</ul>
<h3><a name="p-282336-fixed-4" class="anchor" href="#p-282336-fixed-4" aria-label="Heading link" rel="nofollow"></a>Fixed</h3>
<ul>
<li>Fixed an issue that caused filter conditions for <code>like_and</code>, <code>like_or</code>,<br>
<code>ilike_and</code> and <code>ilike_or</code> to be incorrectly combined when applied to compound<br>
fields.</li>
</ul>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/woylie/flop/releases/tag/0.20.0">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/woylie/flop/releases/tag/0.20.0" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/8324ecf819df35847dc269923c3f5747b72b5c98c061550a88626558cd6b4b94/woylie/flop/releases/tag/0.20.0" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/woylie/flop/releases/tag/0.20.0" target="_blank" rel="noopener nofollow ugc">Release 0.20.0 · woylie/flop</a></h3>

  <p>Added

Added Flop.unnest_filters/3 as a reverse operation of Flop.nest_filters/3
after retrieving data from the database.
Added Flop.Filter.fetch_value/2, Flop.Filter.get_value/2,
Flop.Filter.put_v...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="282336" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-282336" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="282336"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="283985" data-post-id="283985">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="egze" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egze/120/13522_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  egze
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Very cool library!</p>
<p>Wondering how to make the following possible - we want to be able to filter by any field as developers. But we want to also restrict what the user can filter on. What is the best way to implement it?</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def list_workflows(%{} = params, opts \\ []) do
  opts = Keyword.put_new(:for, Workflow)

  with {:ok, %Flop{} = flop} &lt;- Flop.validate(params, opts),
       {:ok, %Flop{} = flop} &lt;- custom_validation(flop, params, opts) do
    Flop.run(Workflow, flop, for: Workflow)
  end
end
</code></pre>
<p>Would <code>custom_validation()</code> be a good place for it? Then I can pass the list of allowed fields in <code>opts</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="283985" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-283985" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="283985"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="284197" data-post-id="284197">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yes, that would be one way to do it, with the minor caveat that Flop would still validate all the filters in your example, even the ones that will be removed by the <code>custom_validation</code> function.</p>
<p>Since Flop 0.20.0, the functions in <code>Flop.Filter</code> are quite permissive regarding the input format, so you might be able to use <a href="https://hexdocs.pm/flop/Flop.Filter.html#drop/2" rel="noopener nofollow ugc">Flop.Filter.drop/2</a> on the filter parameters <em>before</em> passing them to the validate function. The functions in the <code>Filter</code> module accept the list of filters as an argument, and not the whole parameter map, though, so depending on your application, you need to be careful when you get the filter list from the parameters, since the parameters can be a map with string keys <em>or</em> a map with atom keys.</p>
<p>Maybe it would be useful if we allow overriding the <code>filterable</code> fields in the options in a future version.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="284197" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-284197" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="284197"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="284325" data-post-id="284325">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="egze" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/egze/120/13522_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  egze
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks. I also saw another one <a href="https://hexdocs.pm/flop/Flop.Filter.html#take/2" rel="noopener nofollow ugc">Flop.Filter.take/2</a> so I can just pass allowed fields to it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="284325" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-284325" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="284325"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="288732" data-post-id="288732">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/woylie/flop/releases/tag/0.20.1">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/woylie/flop/releases/tag/0.20.1" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/e22f2510d8b99c916a10bc3dc2c666c9cd4383629015d6d7e13c1fe89e9d1641/woylie/flop/releases/tag/0.20.1" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/woylie/flop/releases/tag/0.20.1" target="_blank" rel="noopener nofollow ugc">Release 0.20.1 · woylie/flop</a></h3>

  <p>Added

Added the :count override option to Flop.count/3.

Changed

The default_pagination_type can now be set in the schema.

Fixed

Don't raise function clause error in Flop.to_previous_cursor/1 a...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="288732" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-288732" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="288732"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="290503" data-post-id="290503">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="benwilson512" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/120/1457_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  benwilson512
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Craft GraphQL APIs in Elixir with Absinthe</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>A post was split to a new topic: <a href="/t/flop-ordering/56298" rel="nofollow">Flop ordering</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="290503" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-290503" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="290503"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="290939" data-post-id="290939">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h2><a name="p-290939-h-0202-2023-06-09-1" class="anchor" href="#p-290939-h-0202-2023-06-09-1" aria-label="Heading link" rel="nofollow"></a>[0.20.2] - 2023-06-09</h2>
<h3><a name="p-290939-changed-2" class="anchor" href="#p-290939-changed-2" aria-label="Heading link" rel="nofollow"></a>Changed</h3>
<ul>
<li>Added nutrition facts about <code>use Flop</code> and <code>@derive Flop.Schema</code>.</li>
<li>The minimum Elixir version is now 1.11.</li>
</ul>
<h3><a name="p-290939-fixed-3" class="anchor" href="#p-290939-fixed-3" aria-label="Heading link" rel="nofollow"></a>Fixed</h3>
<ul>
<li>Fixed a deprecation warning about <code>Logger.warn/1</code>.</li>
<li>Fixed a deprecation warning about passing an MFA to <code>:with</code> in<br>
cast_assoc/cast_embed introduced in Ecto 3.10.2.</li>
</ul>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/woylie/flop/releases/tag/0.20.2">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/woylie/flop/releases/tag/0.20.2" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/e9067067c655cb84b51f67d368e387b7f9a46e7ed8a91afd28daf9526f2bcb4a/woylie/flop/releases/tag/0.20.2" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/woylie/flop/releases/tag/0.20.2" target="_blank" rel="noopener nofollow ugc">Release 0.20.2 · woylie/flop</a></h3>

  <p>Changed

Added nutrition facts about use Flop and @derive Flop.Schema.
The minimum Elixir version is now 1.11.

Fixed

Fixed a deprecation warning about Logger.warn/1.
Fixed a deprecation warning a...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="290939" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-290939" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="290939"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="292335" data-post-id="292335">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="woylie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/woylie/120/38856_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  woylie
                      <span class="op-star" title="Thread Starter">
                        <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                      </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h2><a name="p-292335-h-0203-2023-06-23-1" class="anchor" href="#p-292335-h-0203-2023-06-23-1" aria-label="Heading link" rel="nofollow"></a>[0.20.3] - 2023-06-23</h2>
<h3><a name="p-292335-changed-2" class="anchor" href="#p-292335-changed-2" aria-label="Heading link" rel="nofollow"></a>Changed</h3>
<ul>
<li><code>Flop.count/3</code> will now wrap queries that have <code>GROUP BY</code> clauses in a<br>
subquery.</li>
</ul>
<h3><a name="p-292335-fixed-3" class="anchor" href="#p-292335-fixed-3" aria-label="Heading link" rel="nofollow"></a>Fixed</h3>
<ul>
<li>Fixed cursor-based pagination on composite types.</li>
</ul>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/woylie/flop/releases/tag/0.20.3">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/woylie/flop/releases/tag/0.20.3" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/344;"><img src="https://opengraph.githubassets.com/bca42fbd135bd921b8cc29055f084853e082d4c0859bfe5c385118386f1a2427/woylie/flop/releases/tag/0.20.3" class="thumbnail" alt="" width="690" height="345"></div>

<h3><a href="https://github.com/woylie/flop/releases/tag/0.20.3" target="_blank" rel="noopener nofollow ugc">Release 0.20.3 · woylie/flop</a></h3>

  <p>Changed

Flop.count/3 will now wrap queries that have GROUP BY clauses in a
subquery.

Fixed

Fixed cursor-based pagination on composite types.</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="292335" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/flop-filtering-sorting-and-pagination-for-ecto/51750/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-292335" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="292335"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/51750/load_more?page=3">Load more posts</a>
</div></template></turbo-stream>