WordPress.org

WordPress 4.9.1 Security and Maintenance Release

Posted November 29, 2017 by John Blackbourn. Filed under Releases, Security.

WordPress 4.9.1 is now available. This is a security and maintenance release for all versions since WordPress 3.7. We strongly encourage you to update your sites immediately.

WordPress versions 4.9 and earlier are affected by four security issues which could potentially be exploited as part of a multi-vector attack. As part of the core team's ongoing commitment to security hardening, the following fixes have been implemented in 4.9.1:

  1. Use a properly generated hash for the newbloguser key instead of a determinate substring.
  2. Add escaping to the language attributes used on html elements.
  3. Ensure the attributes of enclosures are correctly escaped in RSS and Atom feeds.
  4. Remove the ability to upload JavaScript files for users who do not have the unfiltered_html capability.

Thank you to the reporters of these issues for practicing responsible security disclosure: Rahul Pratap Singh and John Blackbourn.

Eleven other bugs were fixed in WordPress 4.9.1. Particularly of note were:

  • Issues relating to the caching of theme template files.
  • A MediaElement JavaScript error preventing users of certain languages from being able to upload media files.
  • The inability to edit theme and plugin files on Windows based servers.

This post has more information about all of the issues fixed in 4.9.1 if you'd like to learn more.

Download WordPress 4.9.1 or venture over to Dashboard → Updates and click "Update Now." Sites that support automatic background updates are already beginning to update automatically.

Thank you to everyone who contributed to WordPress 4.9.1:

Alain Schlesser, Andrea Fercia, Angelika Reisiger, Blobfolio, bobbingwide, Chetan Prajapati, Dion Hulse, Dominik Schilling (ocean90), edo888, Erich Munz, Felix Arntz, Florian TIAR, Gary Pendergast, Igor Benic, Jeff Farthing, Jeffrey Paul, jeremyescott, Joe McGill, John Blackbourn, johnpgreen, Kelly Dwan, lenasterg, Marius L. J., Mel Choyce, Mário Valney, natacado, odyssey, precies, Saša, Sergey Biryukov, and Weston Ruter.

WordPress 4.9 “Tipton”

Posted November 16, 2017 by Mel Choyce-Dwan. Filed under Releases.

Major Customizer Improvements, Code Error Checking, and More! 🎉

Version 4.9 of WordPress, named “Tipton” in honor of jazz musician and band leader Billy Tipton, is available for download or update in your WordPress dashboard. New features in 4.9 will smooth your design workflow and keep you safe from coding errors.

Featuring design drafts, scheduling, and locking, along with preview links, the Customizer workflow improves collaboration for content creators. What’s more, code syntax highlighting and error checking will make for a clean and smooth site building experience. Finally, if all that wasn’t pretty great, we’ve got an awesome new Gallery widget and improvements to theme browsing and switching.


Customizer Workflow Improved 

Draft and Schedule Site Design Customizations

Yes, you read that right. Just like you can draft and revise posts and schedule them to go live on the date and time you choose, you can now tinker with your site’s design and schedule those design changes to go live as you please.

Collaborate with Design Preview Links

Need to get some feedback on proposed site design changes? WordPress 4.9 gives you a preview link you can send to colleagues and customers so that you can collect and integrate feedback before you schedule the changes to go live. Can we say collaboration++?

Design Locking Guards Your Changes

Ever encounter a scenario where two designers walk into a project and designer A overrides designer B’s beautiful changes? WordPress 4.9’s design lock feature (similar to post locking) secures your draft design so that no one can make changes to it or erase all your hard work.

A Prompt to Protect Your Work

Were you lured away from your desk before you saved your new draft design? Fear not, when you return, WordPress 4.9 will politely ask whether or not you’d like to save your unsaved changes.


Coding Enhancements

Syntax Highlighting and Error Checking? Yes, Please!

You’ve got a display problem but can’t quite figure out exactly what went wrong in the CSS you lovingly wrote. With syntax highlighting and error checking for CSS editing and the Custom HTML widget introduced in WordPress 4.8.1, you’ll pinpoint coding errors quickly. Practically guaranteed to help you scan code more easily, and suss out & fix code errors quickly.

Sandbox for Safety

The dreaded white screen. You’ll avoid it when working on themes and plugin code because WordPress 4.9 will warn you about saving an error. You’ll sleep better at night.

Warning: Potential Danger Ahead!

When you edit themes and plugins directly, WordPress 4.9 will politely warn you that this is a dangerous practice and will recommend that you draft and test changes before updating your file. Take the safe route: You’ll thank you. Your team and customers will thank you.


Even More Widget Updates 

The New Gallery Widget

An incremental improvement to the media changes hatched in WordPress 4.8, you can now add a gallery via this new widget. Yes!

Press a Button, Add Media

Want to add media to your text widget? Embed images, video, and audio directly into the widget along with your text, with our simple but useful Add Media button. Woo!


Site Building Improvements 

More Reliable Theme Switching

When you switch themes, widgets sometimes think they can just move location. Improvements in WordPress 4.9 offer more persistent menu and widget placement when you decide it’s time for a new theme. 

Find and Preview the Perfect Theme

Looking for a new theme for your site? Now, from within the Customizer, you can search, browse, and preview over 2600 themes before deploying changes to your site. What’s more, you can speed your search with filters for subject, features, and layout.

Better Menu Instructions = Less Confusion

Were you confused by the steps to create a new menu? Perhaps no longer! We’ve ironed out the UX for a smoother menu creation process. Newly updated copy will guide you.


Lend a Hand with Gutenberg 🤝

WordPress is working on a new way to create and control your content and we’d love to have your help. Interested in being an early tester or getting involved with the Gutenberg project? Contribute on GitHub.

(PS: this post was written in Gutenberg!)


Developer Happiness 😊

Customizer JS API Improvements

We’ve made numerous improvements to the Customizer JS API in WordPress 4.9, eliminating many pain points. (Hello, default parameters for constructs! Goodbye repeated ID for constructs!) There are also new base control templates, a date/time control, and section/panel/global notifications to name a few. Check out the full list.

CodeMirror available for use in your themes and plugins

We’ve introduced a new code editing library, CodeMirror, for use within core. CodeMirror allows for syntax highlighting, error checking, and validation when creating code writing or editing experiences within your plugins, like CSS or JavaScript include fields.

MediaElement.js upgraded to 4.2.6

WordPress 4.9 includes an upgraded version of MediaElement.js, which removes dependencies on jQuery, improves accessibility, modernizes the UI, and fixes many bugs.

Roles and Capabilities Improvements

New capabilities have been introduced that allow granular management of plugins and translation files. In addition, the site switching process in multisite has been fine-tuned to update the available roles and capabilities in a more reliable and coherent way.


The Squad

This release was led by Mel Choyce and Weston Ruter, with the help of the following fabulous folks. There are 443 contributors with props in this release, with 185 of them contributing for the first time. Pull up some Billy Tipton on your music service of choice, and check out some of their profiles:

0x6f0, 1265578519, 1naveengiri, Aaron D. Campbell, Aaron Jorbin, Aaron Rutley, Abdullah Ramzan, Achal Jain, Adam Harley (Kawauso), Adam Silverstein, Adam Wills, Adhun Anand, aduth, aegis123, Afzal Multani, Ahmad Awais, Ajay Ghaghretiya, Akash Soni, akbarhusen, Akira Tachibana, Alain Schlesser, alejandroxlopez, Alex Dimitrov, Alexandru Vornicescu, alexgso, Ali Basheer, Allen Snook, alpipego, alxndr, Andrea Fercia, Andrea Middleton, andreagobetti, Andrei Lupu, andrei0x309, andreiglingeanu, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Taylor, Andy, Andy Fragen, Andy Hoang Huu, Angelika Reisiger, anhskohbo, Ankit K Gupta, Anthony Hortin, Antipole, Anton Timmermans, antonrinas, Anwer AR, appchecker, arena, arena94, Arnaud Coolsaet, ArnaudBan, Arun, Ashar Irfan, Atanas Angelov, Aurélien Joahny, Avina Patel, Ayesh Karunaratne, B., Barry Ceelen, bduclos, Bego Mario Garde, Behzod Saidov, Ben Cole, Ben Dunkle, Benoit Chantre, Bharat Parsiya, Bhavesh Khadodara, Biplav, Biranit, Birgir Erlendsson (birgire), Birgit Pauli-Haack, biskobe, BjornW, Blackbam, Blair jersyer, Blobfolio, bobbingwide, bonger, Boone B. Gorges, Boro Sitnikovski, Brad Parbs, Brady Vercher, Brandon Kraft, Brandon Payton, Brent Jett, Brian Layman, Brian Meyer, Bridget Willard, Bruno Borges, bseddon, Bunty, Burhan Nasir, Bytes.co, Caleb Burks, Carl Danley, Carolina Nymark, Caroline, Caroline Moore, Charlie Merland, chasewg, Chetan Chauhan, Chetan Prajapati, Chetan Satasiya, choong, Chouby, Chris Hardie, Chris Lema, Chris Runnells, Christian Chung, Christian Herrmann, Christoph Herr, chsxf, cjhaas, claudiu, Cliff Seal, code-monkey, codegrau, coleh, Collins Agbonghama, conner_bw, Corey McKrill, corvidism, csloisel, Daedalon, Daniel Bachhuber, Daniele Scasciafratte, danieltj, dany2217, Darko A7, Dave Pullig, David A. Kennedy, David Aguilera, David Anderson, David Biňovec, David Cramer, David Herrera, David Marín Carreño, David Shanske, David Strauss, David Trower, daymobrew, Derek Herman, designsimply, DiedeExterkate, dingo-d, Dion Hulse, Dipesh Kakadiya, Divyesh Ladani, Dixita Dusara, Dixita Dusara Gohil, Dominik Schilling, Dominik Schwind, dontstealmyfish, Drew Jaynes, dsawardekar, Dzikri Aziz, Eaton, Ebonie Butler, Echo, eclev91, Edd Hurst, edo888, ElectricFeet, Ella Iseulde Van Dorpe, elvishp2006, Enrico Sorcinelli, Eric Andrew Lewis, Eric Daams, Erich Munz, ericmeyer, Erin 'Folletto' Casali, Evan Mullins, Evangelos Athanasiadis, eventualo, Fabien Quatravaux, FancyThought, Felipe Elia, Felix Arntz, fergbrain, Fernando Claussen, Florian TIAR, FPCSJames, Frank Klein, Gareth, Garrett Hyder, Garth Mortensen, Gary Pendergast, Gennady Kovshenin, George Stephanis, Girish Panchal, GM_Alex, gmariani405, Govind, Graham Armfield, Greg Ross, Gregory Cornelius, grosbouff, Guido Scialfa, Gustave F. Gerhardt, guzzilar, Hardeep Asrani, Hardik Amipara, Hazem Noor, hazimayesh, Heather Burns, Helen Hou-Sandí, Henry, Henry Wright, Herre Groen, Hinaloe, Howdy_McGee, Hugh Lashbrooke, Hugo Baeta, Iacopo C, Ian Belanger, Ian Dunn, Igor Benic, Ion Vrinceanu, Ippei Sumida, Ipstenu (Mika Epstein), Irene Strikkers, Ivan Kristianto, ixmati, J.D. Grimes, j.hoffmann, James Nylen, janak Kaneriya, Janki Moradiya, Jason Caldwell, Jason Stallings, Jb Audras, Jeff Farthing, Jeffrey Paul, Jeffrey Paul, Jennifer M. Dodd, Jeremy Felt, Jeremy Pry, Jeremy Scott, Jesper V Nielsen, Jimmy Comack, Jip Moors, jkhongusc, Joe Dolson, Joe Hoyle, Joe McGill, Joen Asmussen, John Blackbourn, John Eckman, John James Jacoby, John P. Green, John Regan, johnroper100, johnschulz, Jonathan Bardo, Jonathan Desrosiers, Jonny Harris, Joost de Valk, Josepha, Josh Pollock, Joshua Wold, Joy, jsepia, jsonfry, Juhi Patel, Juhi Saxena, Julien, Juliette Reinders Folmer, Junaid Ahmed, Justin Kopepasah, Justin Sternberg, justnorris, Kåre Mulvad Steffensen, K.Adam White, Karthik Thayyil, Kathryn Presner, keesiemeijer, Kelderic, Kelly Choyce-Dwan, Ken Newman, Kevin Newman, khaihong, Kim Parsell, Kiran Potphode, Kite, Kjell Reigstad, Konstantin Kovshenin, Konstantin Obenland, Konstantinos Galanakis, Konstantinos Xenos, koopersmith, Krista Stevens, Kristin Kokkersvold, Laken Hafner, lalitpendhare, Lance Willett, laurelfulford, lbenicio, Leander Iversen, leemon, lemacarl, lenasterg, lessbloat, lizkarkoski, llemurya, Luke Cavanagh, m1tk00, macbookandrew, Maedah Batool, Mahesh Prajapati, Mahvash Fatima, Maja Benke, Mako, manolis09, Manuel Augustin, Marcel Bootsman, Mario Valney, Marius L. J., Marius Vetrici, Mark Jaquith, markcallen, Marko Heijnen, MatheusGimenez, Mathieu Viet, Matias Ventura, Matt Gibbs, Matt Mullenweg, matthias.thiel, mattyrob, Maxime Culea, mdifelice, megane9988, Mel Choyce, Menaka S., mensmaximus, mermel, Michael Arestad, Michael Nelson, Michele Mizejewski, Michelle Weber, Migrated to @sebastienserre, Miina Sikk, Mike Crantea, Mike Hansen, Mike Jolley, Mike Schinkel, Mike Schroder, Milan Dinić, Milana Cap, Milind More, Mitch Canter, Mithun Raval, mkomar, Monika Rao, Morgan Estes, moto hachi, mrmadhat, mrwweb, msebel, Muhammad Kashif, munyagu, MyThemeShop, nandorsky, Naoko Takano, Nathan Johnson, ndavison, nenaD, nic.bertino, Nick Diego, Nick Halsey, Nick Momrik, Nicolas, Nicolle Helgers, Nidhi Jain, Nikhil Chavan, Nilambar Sharma, Nileshdudakiya94, Nishit Langaliya, obradovic, odyssey, Ov3rfly, Paal Joachim Romdahl, palmiak, Parth Sanghvi, Pascal Birchler, Pascal Casier, Pat O'Brien, Paul Barthmaier (pbrocks), Paul Bearne, Paul Biron, Paul Dechov, Paul Paradise, Paul Wilde, pcarvalho, Pedro Mendonça, Pete Nelson, Peter "Pessoft" Kolínek, Peter J. Herrel, Peter Toi, Peter Westwood, Peter Wilson, Philip John, Piotr Delawski, Pippin Williamson, Plastikschnitzer, postphotos, powerzilly, Prashant Baldha, Pratik Gandhi, precies, Presslabs, PressTigers, programmin, Punit Patel, Purnendu Dash, Qucheng, r-a-y, Rachel Baker, Rachel Peter, Rafael Miranda, Rafsun Chowdhury, Rami Yushuvaev, Ramon Ahnert, ramon fincken, Ravi Vaghela, RC Lations, redcastor, redrambles, Reuben Gunday, rfair404, Riad Benguella, Rian Rietveld, Riddhi Mehta, Rinku Y, Rishi Shah, Rob Cutmore, Robin Cornett, Rodrigo Primo, Rolf Allard van Hagen, Ronak Ganatra, rugved, Rushabh Shah, Ryan Boren, Ryan Duff, Ryan Holmes, Ryan Marks, Ryan McCue, Ryan Neudorf, Ryan Paul, Ryan Plas, Ryan Welcher, ryanrolds, ryotsun, Sören Wrede, Saša, Sabuj Kundu, Sagar Ladani, Sagar Prajapati, Said El Bakkali, Sami Ahmed Siddiqui, Sami Keijonen, Sampat Viral, Samuel Sidler, Samuel Wood (Otto), sarah semark, Sathiyamoorthy V, Sayed Taqui, Scott DeLuzio, Scott Kingsley Clark, Scott Lee, Scott Reilly, Scott Taylor, scribu, Sean Hayes, Sebastian Pisula, SeBsZ, Sergey Biryukov, Sergio de Falco, Shamim Hasan, Shawn Hooper, Shital Marakana, shramee, Siddharth Thevaril, Simon Prosser, skoldin, Slava Abakumov, someecards, spencerfinnell, spocke, spyderbytes, Stéphane Boisvert, Stanko Metodiev, Stefano Lissa, Stephane Daury (stephdau), Stephen Edgar, Stephen Harris, Steve Grunwell, Steve Puddick, stevenlinx, Stoyan Kostadinov, Subrata Mal, Subrata Sarkar, Sudar Muthu, Sultan Nasir Uddin, Susumu Seino, svrooij, Takahashi Fumiki, Takayuki Miyauchi, Tammie Lister, Taylor, Ted, tejas5989, terwdan, tharsheblows, Thijs Hulshof, thingsym, Thomas Patrick Levy, Thomas Vitale, Thoriq Firdaus, Thorsten Frommen, tigertech, timbowesohft, Timmy Crawford, Timothy Jacobs, tmatsuur, tobi823, Tobias Zimpel, tobifjellner (Tor-Bjorn Fjellner), Todd Nestor, Tom J Nowell, Torsten Landsiedel, Toru Miki, toscho, Toshihiro Kanai, Towhidul I Chowdhury, transl8or, truongwp, tuanmh, turtlepod, TV productions, uicestone, Ulrich, Umang Vaghela, Umesh Nevase, upadalavipul, Usman Khalid, Utkarsh, vhauri, voneff, warmlaundry, Will Kwon, William Earnhardt, williampatton, withinboredom, Wojtek Szkutnik, Yahil Madakiya, yonivh, yrpwayne, Yui, YuriV, Zach, and Zane Matthew.

Finally, thanks to all the community translators who worked on WordPress 4.9. Their efforts bring WordPress 4.9 fully translated to 43 languages at release time, with more on the way.

Do you want to report on WordPress 4.9? We've compiled a press kit featuring information about the release features, and some media assets to help you along.

If you want to follow along or help out, check out Make WordPress and our core development blog.

Thanks for choosing WordPress!

WordPress 4.9 Release Candidate 3

Posted November 14, 2017 by Weston Ruter. Filed under Documentation, Releases.

The third release candidate for WordPress 4.9 is now available.

A release candidate (RC) means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. In fact, we did miss some things in RC1 and RC2. This third release candidate was not originally scheduled, but due a number of defects uncovered through your testing of RC2 (thank you!), we are putting out another 4.9 release candidate.

We hope to ship WordPress 4.9 on Tuesday, November 14 (that’s tomorrow) at 23:00 UTC, but we still need your help to get there. If you haven’t tested 4.9 yet, now is the time! If there are additional defects uncovered through testing between now and the release time, we may delay the 4.9 release to the following day.

To test WordPress 4.9, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

We’ve made just over 20 changes since releasing RC2 last week (as we did between RC1 and RC2). For more details about what’s new in version 4.9, check out the Beta 1, Beta 2, Beta 3Beta 4RC1, and RC2 blog posts. A few specific areas to test in RC3:

  • Switching between the Visual and Text tabs of the editor, and the syncing of the cursor between those two tabs.
  • Overriding linting errors in the Customizer’s Additional CSS editor.
  • Adding nav menu items for Custom Links in the Customizer.
  • Scheduling customization drafts (stubbed posts/pages) for publishing in the Customizer.
  • Autosave revisions for changes in the Customizer.
  • About page styling.

Developers, please test your plugins and themes against WordPress 4.9 and update your plugin’s Tested up to version in the readme to 4.9. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release — we work hard to avoid breaking things. Please see the summative field guide to the 4.9 developer notes on the core development blog.

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

Didn’t squash them all 🐛
We want to release Tuesday
New features not bugs ✨

Thanks for your continued help testing out the latest versions of WordPress.

WordPress 4.9 Release Candidate 2

Posted November 7, 2017 by Weston Ruter. Filed under Development, Releases.

The second release candidate for WordPress 4.9 is now available.

A release candidate (RC) means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.9 on Tuesday, November 14 (just over one week from now), but we need your help to get there. If you haven’t tested 4.9 yet, now is the time!

To test WordPress 4.9, you can use the WordPress Beta Tester plugin or you can download the release candidate here (zip).

We’ve made just over 20 changes since releasing RC 1 last week. For more details about what’s new in version 4.9, check out the Beta 1, Beta 2, Beta 3Beta 4, and RC1 blog posts. Specific areas to test in RC2:

  • Theme installation in the Customizer.
  • Scheduling changes for publishing in the Customizer.
  • Switching themes with live preview in the Customizer.

Developers, please test your plugins and themes against WordPress 4.9 and update your plugin’s Tested up to version in the readme to 4.9. If you find compatibility problems please be sure to post to the support forums so we can figure those out before the final release — we work hard to avoid breaking things. Please see the summative field guide to the 4.9 developer notes on the core development blog.

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac, where you can also find a list of known bugs.

This week’s haiku is courtesy of @melchoyce:

We squashed all the bugs 🐛
But uh, if not, let us know
Also, test your stuff

Thanks for your continued help testing out the latest versions of WordPress.

The Month in WordPress: October 2017

Posted November 2, 2017 by Hugh Lashbrooke. Filed under Month in WordPress.

While this month we focused on building new features for WordPress core, we advanced other areas of the project too. Read on to learn more about what the WordPress project accomplished during the month of October.


Take the 2017 Annual WordPress User Survey

The annual WordPress User Survey is a great opportunity for you to provide your feedback about how you use WordPress. This year is no exception, as the 2017 WordPress User Survey is out now.

The information collected in the survey is used to make informed decisions about improvements across the WordPress project, so your answers are incredibly valuable and help shape the future of the platform.

WordPress 4.8.3 Security Release

At the end of October, WordPress 4.8.3 was released containing an important security fix for all previous versions of WordPress. If your WordPress installation has not updated automatically, please update it now to protect your site.

This security issue was brought to light by a community member, so if you ever discover a security vulnerability in WordPress core, please do the same and disclose it responsibly.

WordPress 4.9 Nearly Ready for Release

WordPress 4.9 was in rapid development this month. We released four beta versions and published a release candidate. The target for shipping WordPress 4.9 is November 14 — just two short weeks away. With many new features, this is a hugely exciting release that improves WordPress’ user experience considerably. Notably, you’ll see improvements to the theme selection experience, plenty of widget enhancements, drastically improved code editing, and much better user role management.

To get involved in building WordPress Core, jump into the #core channel in the Making WordPress Slack group, and follow the Core team blog.

WordPress Charity Hackathons are Growing

For the last few years, the number of do_action series of WordPress charity hackathons has grown around the world. What started as a community event to assist local nonprofit organizations, has become something many WordPress communities are replicating in an increasing number of cities.

As of this month, do_action events have been hosted in Cape Town and Johannesburg, South Africa, Beirut, Lebanon, Austin, Texas, and Montréal, Canada. In addition, events are now scheduled for Bristol, England and Zurich, Switzerland in 2018.

To get involved in organizing a do_action event locally, read the do_action organizer’s handbook and join the #community-events channel in the Making WordPress Slack group.

Gutenberg Development Advances

While work steadily continues on Gutenberg — the new editor for WordPress core — one update from this month addresses one of the primary concerns that some people shared about the project.

Up until the release on October 24, Gutenberg did not support the meta boxes that so many WordPress content creators rely on. The new editor now has initial support for meta boxes as well as a host of other critical features for content creation in WordPress.

Test out Gutenberg right now and help develop it by joining the #core-editor channel in the Making WordPress Slack group and following the Core team blog.


Further Reading:

If you have a story we should consider including in the next “Month in WordPress” post, please submit it here.

See Also:

Want to follow the code? There’s a development P2 blog and you can track active development in the Trac timeline that often has 20–30 updates per day.

Want to find an event near you? Check out the WordCamp schedule and find your local Meetup group!

For more WordPress news, check out the WordPress Planet or subscribe to the WP Briefing podcast.

Categories

Subscribe to WordPress News

Join 1,930,686 other subscribers

Archives

%d bloggers like this: