<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ticket search results</title><link>https://forge-allura.apache.org/p/allura/tickets/</link><description>You searched for labels%3A%22sf-4%22</description><language>en</language><lastBuildDate>Tue, 26 May 2026 16:12:33 -0000</lastBuildDate><item><title>Pin pre-commit dependencies</title><link>https://forge-allura.apache.org/p/allura/tickets/8608/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Cruz</dc:creator><pubDate>Tue, 26 May 2026 16:12:33 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8608/</guid></item><item><title>email auth verification by link</title><link>https://forge-allura.apache.org/p/allura/tickets/8601/</link><description>With a link we can have a longer token for more security (still type-able if needed).  And the link will defeat some MITM phishing attacks, forcing you to the right site.

We can apply this to 2FA accounts too (currently being skipped) so they get the MITM protections too

Downside is if you don't have email access on the same computer you're logging in to :(</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Fri, 01 May 2026 18:21:37 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8601/</guid></item><item><title>improve bad markdown performance</title><link>https://forge-allura.apache.org/p/allura/tickets/8597/</link><description>In some very specific cases the performance of markdown can be quite bad</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 23 Feb 2026 20:20:24 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8597/</guid></item><item><title>Python Packages Upgrades</title><link>https://forge-allura.apache.org/p/allura/tickets/8594/</link><description>Like every quarter let's update the Python packages we use.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Cruz</dc:creator><pubDate>Tue, 10 Feb 2026 22:08:51 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8594/</guid></item><item><title>prepend __task_ for special task params; use priority in reindex tasks</title><link>https://forge-allura.apache.org/p/allura/tickets/8592/</link><description>`myfunc.post(..` and `post_event` take special params like `delay` but that would prevent the a normal `delay` parameter from being used.

So we should make it `__task_delay`.  Same for `flush_immediately`, and adding `priority` as an option now too.

Then after that improvement, lets start using `__task_priority` in the reindex command, so they can run at a lower priority and not interfere with normal tasks.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 11 Dec 2025 18:21:12 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8592/</guid></item><item><title>improve regexes and remove regex-as-re-globally pkg DROPS python 3.10</title><link>https://forge-allura.apache.org/p/allura/tickets/8588/</link><description>`regex-as-re-globally` is a very hacky package (I made it, I'm ok to admit it) and it continuously has needs more fixes for every new version of python https://github.com/brondsem/regex-as-re-globally/issues?q=is%3Aissue

So lets fix our regexes so we don't need it</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 01 Dec 2025 17:36:58 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8588/</guid></item><item><title>Set Clear-Site-Data response header upon logout</title><link>https://forge-allura.apache.org/p/allura/tickets/8579/</link><description>https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data
Option to clear: session, cookies, and more</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dillon Walls</dc:creator><pubDate>Tue, 12 Aug 2025 17:44:02 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8579/</guid></item><item><title>Allow notes on new projects section</title><link>https://forge-allura.apache.org/p/allura/tickets/8577/</link><description>Enable the ability to add notes per projects in the `new projects` admin section</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Cruz</dc:creator><pubDate>Tue, 12 Aug 2025 17:44:01 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8577/</guid></item><item><title>upgrade JS libraries a bit</title><link>https://forge-allura.apache.org/p/allura/tickets/8576/</link><description>To get compliant with https://retirejs.github.io/retire.js/ vulnerability scanning</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 12 Aug 2025 17:44:01 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8576/</guid></item><item><title>add more password change settings</title><link>https://forge-allura.apache.org/p/allura/tickets/8572/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 12 Aug 2025 17:44:00 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8572/</guid></item><item><title>support basic auth to solr</title><link>https://forge-allura.apache.org/p/allura/tickets/8568/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Tue, 12 Aug 2025 17:43:59 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8568/</guid></item><item><title>Upgrade Python packages</title><link>https://forge-allura.apache.org/p/allura/tickets/8567/</link><description>Like every 4 months upgrade packages and run tests</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Cruz</dc:creator><pubDate>Tue, 12 Aug 2025 17:43:59 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8567/</guid></item><item><title>Prepare for Upgrade to Pymongo 4</title><link>https://forge-allura.apache.org/p/allura/tickets/8565/</link><description>There are quite a few methods that were removed or changed in the jump from pymongo3 to pymongo4. Many of these have been back-ported to pymongo3. 

In coordination with Ming, we should incrementally work towards pymongo4. A good way to accomplish this is to keep pymongo3 but migrate to the new api in as many places as possible.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dillon Walls</dc:creator><pubDate>Tue, 12 Aug 2025 17:43:59 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8565/</guid></item><item><title>[Feature Request] Easier Merge Request Creation</title><link>https://forge-allura.apache.org/p/allura/tickets/8564/</link><description>One feature that I've always thought would be nice is the ability to create an "empty" merge request that represents a new chunk of work. So even If I don't have a fork, as long as I have write access to a git repo, I can "Create Merge Request" and it will default to merging master onto master. This could immediately be updated to point to a branch of your choosing. Or maybe this flow could create a branch for you! Or you could leave it pointing to master and update the MR later. But having this option to arbitrarily create new MRs will streamline the process of embarking on new work. It has the added benefit of keeping all relevant discussion happening as close as possible to the work itself.

I believe GitHub has something similar to this, but I'm not 100% sure.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dillon Walls</dc:creator><pubDate>Tue, 18 Jun 2024 22:32:57 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8564/</guid></item><item><title>Support Google Analytics 4 (GA4)</title><link>https://forge-allura.apache.org/p/allura/tickets/8560/</link><description>Projects can set a `tracking_id` tag if the `google_analytics` feature is enabled for the neighborhood. Doing this automatically includes the analytics.js snippet and initializes it with the project's tag on all project pages. Nifty feature.

However, this is all using Google's now fully deprecated Universal Analytics. UA will be fully shutdown and deleted as of July 2024. It has been replaced by its successor Google Analytics 4 (GA4).

It appears that for some time now (and for an indeterminate amount of time into the future) Google has been forwarding all UA traffic to GA4 behind the scenes. So all existing UA tags and snippets out in the wild will continue to function. This means that all projects that already have `tracking_id`s set will continue to work as expected for the foreseeable future.

However #2, It is unknown whether this flow will work for new GA4 tags. For example if a new project wants to add new analytics, they will only have a GA4 tag. Will the existing UA snippet flow work with that tag?

So for that reason and for the reason that GA4 has all sorts of fancy new features, it would be nice if we officially supported it going forward.

Other things to consider:
* Update the documentation to mention extending/overriding the `custom_tracking_js` macro in a custom theme for further analytics collection customization.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dillon Walls</dc:creator><pubDate>Thu, 09 May 2024 19:09:02 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8560/</guid></item><item><title>tickets API: better type handling</title><link>https://forge-allura.apache.org/p/allura/tickets/8559/</link><description>need to handle booleans like `private` and `discussion_disabled` for example (currently only works if you pass `''` and it does the wrong thing if you say "false" as a string).

And custom fields based on their specified type.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:46 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8559/</guid></item><item><title>deprecate and remove has_access(..)() syntax</title><link>https://forge-allura.apache.org/p/allura/tickets/8556/</link><description>`has_access` returns a TruthyCallable which can be treated as a bool or called again, which is confusing.  There's lots of `has_access(...)()` syntax that can be cleaned up now.  

After cleanup is done (including within external plugins/extensions), we can then remove the TruthyCallable and predicate behavior of has_access, and have it return a simple bool.

Code changes necessary:
- `has_access(...)()` -&gt; `has_access(...)`
- `has_access(c.app, 'read')(user=user)` -&gt; `has_access(c.app, 'read', user)`
- `require(has_access(c.app, 'read'))` -&gt; `require_access(c.app, 'read'))`


If `require(...)`  is used in other situations, ideally it should be changed completely.  Or, change from a callable to a bool like `require(lambda: foo == bar)` -&gt; `require(foo == bar)` but this cannot be done ahead of time, it mus be done at the time of full removal.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 08 Dec 2025 22:50:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8556/</guid></item><item><title>check blocked users better</title><link>https://forge-allura.apache.org/p/allura/tickets/8555/</link><description>If a user is blocked at the tool level, they still may be able to post in discussion forums that have additional ACLs.  E.g. a forum within the discussion tool, which has anonymous posting allowed, or has developer only posting.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8555/</guid></item><item><title>fix wiki page 'recent' sort</title><link>https://forge-allura.apache.org/p/allura/tickets/8540/</link><description>The "Recently Updated" sort option on wiki's Browse Pages does not work correctly.  It does the query and then applies a sort afterwards.  So if you have more than one page of results, it only sorts within the current page not the whole set of pages.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8540/</guid></item><item><title>add more ruff checks</title><link>https://forge-allura.apache.org/p/allura/tickets/8539/</link><description>https://docs.astral.sh/ruff/rules/#flake8-bandit-s in particular would be good, some others too</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8539/</guid></item><item><title>Slight tweak to timeline helper methods</title><link>https://forge-allura.apache.org/p/allura/tickets/8538/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dillon Walls</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8538/</guid></item><item><title>a few JS performance improvements</title><link>https://forge-allura.apache.org/p/allura/tickets/8537/</link><description>- move `GoogleAnalytics` further down the page
- remove `scanMessages` from `jquery.notify.js`</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Guillermo Cruz</dc:creator><pubDate>Mon, 10 Jun 2024 15:31:45 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/8537/</guid></item></channel></rss>