YOURLS 1.9.1

We’ve just released YOURLS 1.9.1 !

What’s new ? Mostly minor bug fixes, the most important one being an error occurring when someone would update from a long version ago. People who update their YOURLS instances when there is a new version were not affected by this bug, I’ll let you decide if there is a lesson here ;) You’ll find the detailed changelog on the release page.

How to update ? This release doesn’t alter the database, it’s the typical case of “upload files over older ones and forget”, which as always doesn’t affect your plugins and user config. And as always, if it’s been a long time since your last DB backup, now would be a good time of course.

Spread the word ! Help us make YOURLS bigger ! You can do your part with tweeting about this release to let your friends know about it, and with giving us a star on Github ;) Thank you all!

Short URL to this post:

YOURLS 1.9 “Nergal” released

Hello everyone, I’m very excited to announce the release of YOURLS 1.9 \o/

Hail Adam « Nergal » Darski \m/

In our tradition to name a new release after a metal vocalist, I’m dedicating 1.9 to Nergal, front man of Polish heavyweight extreme band Behemoth. Known for his magnetic charisma, insane energy and being a cancer survivor, Nergal also supports several worthy projects fighting censorship and promoting freedom of thought. I completely worship the man and suggest you relax to the sound of one of their sweetest delicacies :-)

Behemoth’s Nergal – photo by Per Ole Hagen

YOURLS 1.9 : why so excited ?

A lot of work went into that release and it’s more than just yet-another-release. On the YOURLS core front, we have improved and fixed and worked on several things, such as :

  • A true foolproof plugin sandbox : if a plugin you activate is PHP garbage with broken code, it won’t break your whole install. Peace of mind! Also, there is now a proper (optional) uninstall procedure for plugins, see for instance the official sample plugin. We have other exciting news about plugins, more on this later.
Broken plugin != broken YOURLS
  • Improved security (mostly to prevent people from hacking themselves in creative ways, not gonna lie)
  • Less annoying bugs, such as : there were sometimes irritating notices or unresponsive interface in particular cases when shortening or editing a URL ; we now deal a lot better with concurrency requests when mass shortening URLs.
  • Hardened test cases for better continuous integration, and implement smarter workflows in the repository.
    For instance, the GeoIP database is now regularly and automatically updated in Github. While that doesn’t change much for users between releases, this really makes our maintainer life easier.
    (On this topic and for you users, I recently made a GeoIP Update plugin, to easily update your GeoIP database if there has been no new YOURLS release in a while)

Note that YOURLS now requires PHP 7.4 as a minimum, and is of course fully tested for PHP 8.0 and 8.1.

Those interested will find more boring details in the CHANGELOG as usual.

I mentioned earlier “on the YOURLS core front” : what else would there be on other fronts?

Sweet documentation now on

The whole YOURLS documentation now lives at and boy this is neat. Powered by modern and lightning fast Vuepress, this documentation has two nice benefits for users:

  • it’s fully and efficiently searchable : the search box on the top right provides real time and accurate results about whatever you may be looking for:
  • It’s now easier than ever to propose enhancement for the documentation. Notice a typo? Want to suggest a better rewording, or even cover a whole new important topic we’ve overlooked? Simply click on “Edit this page” and file a regular pull request on YOURLS/docs.

Plugin test suite !

This one is for plugin authors : we have released a convenient Test Suite tool for plugins, to make it easier to write and run unit tests for your plugins in a real YOURLS environment.

This is truly a new dawn for YOURLS plugin coders. The typical YOURLS plugin is a simple file with a couple filters and actions performing a simple task, and it’s tempting to just forget about it. The Test suite for plugins makes it easier to write tests, forget about your plugin AND be noticed if, for instance, a future YOURLS release breaks something !

Plugin authors : go ahead, play with the test suite, write some tests and earn the “test icon” 🧪 in the Awesome YOURLS list ! Feel free to ping Ozh if you need some guidance to get started.

Wrapping it up

YOURLS 1.9 is out, right in time to celebrate our 8000th star on Github.

Over the years YOURLS has been consistently in the Top 100 PHP projects on Github and we are really humbled and honoured. From the bottom of our hearts, we’re sending a warm thank you to every people using YOURLS in small personal projects or large corporate environment, to people writing plugins and providing materials that make a vivid ecosystem, to people financially supporting the project, and to everyone telling the world about it !

Now it’s time to do your part !

  • Update YOURLS ! As usual, this would make a nice occasion for a little backup ;)
  • Tweet about this release, make friends know about it and entice them to update
  • Star us on Github if you haven’t already ;-)
  • Plugin author ? Write some tests !
  • Translation maintainer ? Update your translation !

Peace on you !

Short URL to this post:

YOURLS 1.8.2

YOURLS 1.8.2 is available and waiting for you.

What’s new ? This version brings a few fixes and improvements that were implemented during the past 6 months : a few cosmetic issues with IE 11 and Docker, better handling of SSL proxies, various hooks and inline documentation that will make developers job easier. The most noticeable – yet invisible – changes would be two minor security issues with XSS and iframe jacking (yes, I know it sounds suspicious to call security issues “minor” but this is really what they were :). Gory details in the changelog for those interested.

How to update ? This version doesn’t alter the database, so updating should be an instant “download, overwrite your existing files and forget” job. This won’t affect user config and plugins, as usual. And as always, we have to recommend that you backup your DB from time to time, and updating seems like a good opportunity to do so.

Spread the word ! YOURLS exists and thrives because of people using it and telling their friends how much they enjoy it. Have you starred the project on Github ? And thank you all for tweeting and youtubing and whatnotting about this release :)

Short URL to this post:

YOURLS 1.8.1

YOURLS 1.8.1 is available to the world.

This “patch release” fixes the update procedure for folks running MySQL and having table names with dashes (eg joe-yourls-options … Jeez, gentlemen, underscores ftw!).

It also fixes the way YOURLS determines if a page should be publicly available or not, on private installs, for instance to have private YOURLS instances where one must log to enter the admin area but where the API or stat pages are viewable by anyone.

While I was at it, I added an interesting new hook for actions and filters : the “all” hook, to be able to attach every single action and filter that YOURLS triggers to the same function. Debugging level 9000. See the wiki page Debugging YOURLS to learn how to use this powerful hook.

To update: simply download the new release and overwrite your files. As usual this won’t affect user defined files, such as plugins, config or languages. And as usual, even if this quick update doesn’t change anything in the DB, when was the last time you made a backup? :)

Spread the word, and take care !

Short URL to this post:

YOURLS 1.8 “Mike Muir” released

It is with great pleasure and excitement that I announce the release of YOURLS 1.8 “Mike Muir”!

Hail Mike Muir 🤘❤️

First things first, in our now secular tradition to name YOURLS releases after a infamous metal vocalist, I’m dedicating this release to Mike Muir, cyco frontman from the sublime thrash punk band we all mosh to, Suicidal Tendencies. Damn I love this man. I suggest you tune in some relaxing music while reading the rest of this post and updating YOURLS.

Mike Muir, photo by my concert pal Ronan Thenadey. Best concert photograph ever, seriously.

So, YOURLS 1.8 ?

Yes, YOURLS 1.8 and a lot of reasons for you to update. Let’s list the major ones :

  • Much, much, very much better support for UTF8 and ᵮưȵƙƴ letters. The long running issue of “page title is weirdly encoded” should be a thing of the past, no matter the charset, the encoding or the alphabet used on the URL you’ll shorten. YOURLS also now fully support being installed on IDN domains out of the box, without the use of a plugin as it did before.
Take that, IDN and stuff
  • PHP compatibility : YOURLS 1.8 is of course compatible with PHP 8. We’re also dropping support for older PHP versions and are now advocating that you use at least 7.4. Although 7.2 is still supported we will probably make less efforts in the future than we did in the past to maintain compatibility with deprecated PHP.
  • Time and timezone management : till now, YOURLS was a happy mess of timezone “sort of” support. Now more! While the core code has been streamlined and simplified to only use UTC, we have also developed a neat timezones plugin to properly manage timezones and how date & time are displayed on your install.
  • Slightly updated UI and logo, all in SVG light and scalable goodness.
  • And of course several bug fixes and improvements under the hood – check the commit log if you are interested.

“Awesome YOURLS” is more awesome now

Awesome YOURLS is the curated list of, well, awesome things about YOURLS : plugins, translations, themes, install guides, tutorials, tools, packages for various platforms, applications and programming languages. It’s a truly amazing resource list.

The list has been improved lately : more content, more readable. More awesomeness. Be sure to check it, star it on Github and have your work featured there!

Update and tell friends to update !

As always, we advise you to update as soon as you can. And as always, we advise you to backup your DB before doing so, because, you know why.

And, as always, we’re counting on you : spread the word about this new release, share the news on Twitter, on your Facebook wall, on wherever you virtually exist and let your friends know about this.

Short URL to this post:

YOURLS 1.7.9

YOURLS update : the latest release is now 1.7.9 and you will find it, as usual and only, on YOURLS release page on Github.

This release could have been nicknamed “the Quarantine Edition” since, because or thanks to the corona-lockdown (day 35 and counting) I’ve had quite some time to fix things and improve stuff, as you’ll see on the release page.

Truth be told, I’m also pushing this release as a security update. Last night, the DJ didn’t save my life, but the server hosting was compromised. As a result, you may have seen a message in your YOURLS admin interface advertising a 1.7.8 release with an unusual download link. This was quickly noticed and fixed but a couple hundreds people still downloaded the fake archive, so I’m pushing a newer one for everyone.

Update as usual : download files and overwrite all existing files on your server (your personal files such as plugins or config will remain untouched).

Do the community a favor: stay safe, wash your hands, tweet this post and let friends know about this update!

Short URL to this post:

🖕 Twitter 😞

This is just a short announcement to highlight the fact that YOURLS online presence has been removed from Twitter. As a matter of fact, for completely unknown reasons, Twitter has suspended our @yourls and @yourls_dev accounts (allegedly: breaking the terms of use, but despite my claims and requests I have no details and they just won’t listen).

So, in you are on Twitter and find anything you read about YOURLS useful, be sure to share it. YOURLS “official” Twitter account being removed just means that, from now on, YOURLS Twitter accounts are its users’. Share the love and help your friends!

Stay safe. Virtual and social-distanced hugs from the YOURLS team.

Short URL to this post:

YOURLS 1.7.6

Hello 2020! We’re pushing a new release for YOURLS, tagged 1.7.6, with a couple small improvements. You can find boring details in the changelog and on the YOURLS release page on Github.

Updating is the same painless procedure as usual : download and overwrite existing files. But hey, since it’s a new year and everything, why not make a backup of your database somewhere? ;-)

Short URL to this post:

YOURLS 1.7.4

We’ve just released a security patch for YOURLS, so everyone is advised to update when possible.

What’s new? We’ve hardened security. All prior versions of YOURLS, up to 1.7.3, can be abused in a way that allows a script kiddy malicious user to use your API by forging a valid timestamp, and add unwanted links to your shortener.

How to update? Same and as painless as usual: download the archive and overwrite all existing files. While you’re at it, backup your database, and tell your friends and family to update too!

Short URL to this post:

YOURLS 1.7.3

Hello world, and happy new year everyone!

This year 2019 starts with a maintenance release of YOURLS, bumping its version to YOURLS 1.7.3.

What’s new? Mostly lil bug fixes and small enhancements here and there, nothing breath taking, but we thought it might be a good idea to push a release that would reflect changes committed this past months, mostly for folks who install “stable” releases, either manually or using third party tools.

How to update? Same as usual, download the archive and overwrite all existing files. While you’re at it, backup your database because this is one of your new year resolutions, and tell your friends and family to update too!

Love and short links to all !

Short URL to this post: