https://make.wordpress.org/core/2023/04/19/status-update-on-the-sqlite-project/ Skip to content * Log In * Register * News * Download & Extend + Get WordPress + Themes + Patterns + Plugins + Mobile + Hosting + Openverse /[?] * Learn + Learn WordPress + Documentation + Forums + Developers + WordPress.tv /[?] * Community + Make WordPress + Photo Directory + Five for the Future + WordCamp /[?] + Meetups /[?] + Job Board /[?] * About + About WordPress + Showcase + Enterprise + Gutenberg /[?] + WordPress Swag Store /[?] * Get WordPress Search in WordPress.org [ ] Get WordPress Menu Make WordPress Core * Tickets * Components * Handbook * Browse Source * Trac Timeline * Create a New Ticket Hide welcome box Welcome! The WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There's lots of ways to contribute: * Found a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.? Create a ticket in the bug tracker. * Want to contribute? Get started quickly with tickets marked as good first bugs for new contributors or join a bug scrub. There's more on the reports page, like patches needing testing, and on feature projects page. * Other questions? Here is a detailed handbook for contributors, complete with tutorials. Communication Core uses Slack for real-time communication. Contributors live all over the world, so there are discussions happening at all hours of the day. Core development meetings are every Wednesday at 20:00 UTC in the # core channel on Slack. Anyone can join and participate or listen in! [18a8f] Ari Stathopoulos 11:17 am on April 19, 2023 Status update on the SQLite project This post is an update to the proposal for officially support SQLite in WordPress. The initial implementation was included in the Performance Lab pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https:// wordpress.org/plugins/ or can be cost-based plugin from a third-party and then released as a stand-alone plugin. That initial implementation was based on wp-sqlite-db by @aaemnnosttv , which in turn, was a fork of an older plugin. Over the course of the last 6 month, issues with that implementation surfaced and the project experienced some limitations. As a result, we (@zieladam and @aristath) decided to rewrite it using a more future-proof concept. The code has been completely rewritten to use an SQL Lexer and is now stable and able to handle all WordPress queries properly. The SQL Lexer is part of the PHPMyAdmin/SQL-Parser project (licensed under the GPLGPL GNU General Public License. Also see copyright license. 2.0) and it was adapted for WordPress, effectively implementing a MySQL to SQLite translation engine. This provides improved security, as well as compatibility. The update has already been released in the standalone plugin and will soon be ported to the Performance Lab plugin. Most WordPress Unit Tests now pass, with the exception of a few that require patching WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. The next step would be to implement these changes to WordPress core instead of using a plugin. To that end, we have a draft Pull Request and an accompanying Trac ticket. Why should this be in Core and not as a plugin? In its current form, the SQLite implementation is a plugin. Just like all plugins, it can only be installed on a pre-existing website. As a result, a site can only use an SQLite database if it already has a MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database - effectively negating all the benefits that SQLite can bring to WordPress. Using the featured plugin is a great way to allow users to test the implementation and iron out any issues etc. However, long-term, it doesn't make sense to use it as a plugin. What are the next necessary decisions? There needs to be a decision, if the WordPress project wants to provide an option to users during WordPress installation, so they can choose whether they want to use a MySQL or an SQLite database. If no option is available in the UIUI User interface, then users would have to manually add define( 'DB_ENGINE', 'sqlite' ); in their wp-config.php file. Adding an option to select the database type may initially raise some eyebrows thinking that the famous 5-minute installation process will become more complicated, but in fact, it's the exact opposite: If users pick SQLite as their database, they don't need to create a MySQL db or enter their credentials in the installation screen, as no separate server is required. A prototype of the UI changes are already available via the pull request in WordPress Core, to showcase how easy it would be to install WP using SQLite instead of MySQL. The proof-of-concept UI in that implementation checks if the server supports SQLite and MySQL: * If SQLite is supported but not MySQL, then it defaults to SQLite and no UI option is shown to users. This is for example what happens in the WordPress Playground - it is vanilla WordPress that defaults to SQLite. * Similarly, if the server supports MySQL and not SQLite, then the installation will use MySQL and no option will be shown to users. * The UI option will only show if both SQLite and MySQL are supported by the server. How can this implementation be tested? The next step would be to thoroughly test the implementation with all the plugins you normally use. You can use the SQLite Database Integration plugin to test an SQLite database on your existing website, or better yet - you can test the pull request in WordPress Core. If you test the plugin, keep in mind that it does not copy your current data from MySQL to SQLite, as mentioned in the call-for-testing post. Props @zieladam for proofreading and contributing to this post, @bph for peer review Share this: * Twitter * Facebook * * Login to Reply 1. [099] Samuel Wood (Otto) 11:34 am on April 19, 2023 Are there any plans for performance testing around the differences between SQLite and mySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/.? I'm thinking benchmark in an ideal situation sort of thing, for comparison testing only. Real world testing will have to be on various hosting situations, and so may come later. + [18a] Ari Stathopoulos 11:46 am on April 19, 2023 Yes, there are definitely plans to run benchmarks and compare MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https:// www.mysql.com/. vs SQLite, though tbh I expect that SQLite will really shine in low-end servers. In high-end servers I haven't seen any performance regressions, and in my tests the difference is no more than a couple milliseconds so negligible. We'll need to run a series of tests on a variety of environments to have a more rounded opinion - my own tests are nothing more than anecdotal evidence. I have reached out to a couple of hosts already and they have agreed to help us test things in real-world servers so we'll have more concrete stats. o [f3b] gridpane 2:55 pm on April 19, 2023 Ari, If you need more hosts testing this out feel free to ping Ping The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it's connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of "Ping me when the meeting starts." me. We can try this under a handful of different stacks at GridPane.com o [958] Javier Casares 6:48 am on April 22, 2023 We can try something like the phpunit-test-runner? 2. [f22] Daniele Scasciafratte 11:38 am on April 19, 2023 Instead, in the case of a website with already mysqlMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. that want to change to sqlite? + [18a] Ari Stathopoulos 11:48 am on April 19, 2023 It's possible to convert a MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database to SQLite using the CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress., and if SQLite gets merged in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., we'll need to build a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party that does the database migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. Migration tasks are not something that should be part of Core, so it will need to be in a plugin. Alternatively, you could export content from your MySQL database using the WordPress exporter, then switch to an SQLite database, and import the content from the XML o [a6e] Xavi Ivars 12:10 pm on April 19, 2023 > It's possible to convert a MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https:// www.mysql.com/. database to SQLite using the CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. Is there any documentation around this? I'd love to test this in a couple of (low traffic & non-critical) production sites, and evaluate the performance differences. # [18a] Ari Stathopoulos 12:17 pm on April 19, 2023 No official documentation, but with a quick search for "convert MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https:// www.mysql.com/. to SQLite" I see there are plenty of solutions out there! @ [a6e] Xavi Ivars 12:27 pm on April 19, 2023 Oh, when you said "the CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.", for some reason I read "wp-cliWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http:// wp-cli.org/ https://make.wordpress.org/cli/", and was getting frustrated for not finding any relevant information anywhere - [958] Javier Casares 6:49 am on April 22, 2023 I explain a little in my presentation. There are the slides on the WPTV page. https://wordpress.tv/2023/03/12/ wordpress-con-sqlite/ = [958] Javier Casares 6:51 am on April 22, 2023 With mysql2sqlite. Something like: mysqldump--skip-extended-insert --compact wordpress> wordpress.sql mysql2sqlite wordpress.sql| sqlite3 wordpress.sqlite + [3b7] zieladam 1:25 pm on April 19, 2023 It should be possible to import `mysql_dump` and PHPMyAdmin export files using the MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/.->SQLite translator shipped with the sqlite-database-integration pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. There isn't a script or a dedicated function that does that at the moment, but it could be built since all the necessary building blocks are in place. 3. [f22] Jonathan Desrosiers 12:45 pm on April 19, 2023 The SQL Lexer is part of the PHPMyAdmin/SQL-Parser project (licensed under the GPLGPL GNU General Public License. Also see copyright license. 2.0) and it was adapted for WordPress, effectively implementing a MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. to SQLite translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. engine. I have a question around this. Can you elaborate a bit on "adapted for WordPress"? What I'm mainly concerned with is how heavily the implementation in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/ plugins/ or can be cost-based plugin from a third-party has changed from the PHPMyAdmin/SQL-Parser project. If it's very different, it introduces a serious maintenance burden when big fixes, security updates, etc. are released upstream as this would not be trivial. + [18a] Ari Stathopoulos 5:26 am on April 20, 2023 I have a question around this. Can you elaborate a bit on "adapted for WordPress"? We didn't need all of the package, so in order to simplify things a bit, we extracted the relevant code from the package, combined some classes to make them into a single file, and then applied the WordPress Coding Standards WordPress Coding Standards The Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress Coding Standards Handbook. May also refer to The collection of PHP_CodeSniffer rules (sniffs) used to format and validate PHP code developed for WordPress according to the PHP coding standards. to it. All the logic stayed the same, and the process didn't take more than a few hours. If in the future we want to reduce the maintenance burden, we can use the package as-is. For this implementation we went for something minimal and small, but if we want more we can just use the whole package as a drop-in replacement for our simplified version of it. 4. [b3e] Aaron Jorbin 3:16 pm on April 19, 2023 Talk of merging to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feels incredibly premature for a couple of reasons: 1) The pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/ plugins/ or can be cost-based plugin from a third-party now only has around 30 installations. I think there needs to be much higher adoption in order to understand how the near-infinite number of plugins will work with this deep underlying change to WordPress. 2) The WordPress Philosophy has long included the line Many end users of WordPress are non-technically minded. They don't know what AJAX is, nor do they care about which version of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher they are using. The average WordPress user simply wants to be able to write without problems or interruption. These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for. Assuming that a user is going to understand different database engines and the potential tradeoffs feels far stretched to me. Therfore, any implementation really needs to be rock solid and extremely thoroughly tested. 3) I have serious concerns about the christian superiority that the SQLite project has in its "code of ethics" and if WordPress as a project wants to align itself there. As a non-christian, I feel explicitly not welcome to participate there. The Diversity, Equity, and Inclusion in WordPress statement makes clear that this Project believes "Inclusion is making sure that the environment is built to not simply tolerate diverse groups but to celebrate them as well." How does providing official support to a project that does not tolerate diverse groups let alone celebrate them help WordPress achieve this goal? + [383] David Anderson 11:47 pm on April 19, 2023 So, the proper interpretation of that phrase in the "Diversity, Equity, and Inclusion in WordPress" statement is that it's intended to allow WordPress to keep its distance from Christians, who are officially deemed intolerable? That's interesting. + [18a] Ari Stathopoulos 6:05 am on April 20, 2023 Talk of merging to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feels incredibly premature It is premature. However, looking at the bigger picture, it is not premature to plan for the future and get ready for it. It may be premature now, but it won't be 2 years from now... The problem is that we won't be able to do it in the future unless we start working on it now. SQLite is not something that can - or should - happen in Core now, or even a year from now. It's a long-term goal, and should be treated as such. I think there needs to be much higher adoption in order to understand how the near-infinite number of plugins will work with this deep underlying change to WordPress. I agree. Any and all plugins that use $wpdb won't have any issues. The problem will only be with plugins that use a hardcoded connection to the database, using something like mysqli_real_connect() or a similar function, and passing the DB_NAME, DB_USER, DB_PASSWORD and DB_HOST constants to it. These plugins will need to start using $wpdb instead of custom hardcoded connections - which is something they should be doing anyways. It's not something that can happen in a day, but long-term it's not something that should be considered blockerblocker A bug which is so severe that it blocks a release. IMO. Assuming that a user is going to understand different database engines and the potential tradeoffs feels far stretched to me. Therfore, any implementation really needs to be rock solid and extremely thoroughly tested. I agree 100%! The proof-of-concept UIUI User interface I put in place in the Core PR is just that - a proof of concept. Something to trigger discussion and allow us to find solutions. It can be anything, even installation scenarios (do you want to create a blogblog (versus network, site)? A small e-commerce site? A large news outlet? The next Amazon?) That is a discussion that will need to happen when the time is right to discuss UI, but it's is a bit too early for that, I don't think we're there yet. I have serious concerns about the christian superiority that the SQLite project has in its "code of ethics" and if WordPress as a project wants to align itself there. That code of ethics applies to people who want to contribute to SQLite itself. SQLite is public-domain and open-source, but not open-contribution. Their code of ethics is for people who want to become contributors to SQLite. The WordPress project does not contribute to MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. or PHP PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher, I don't see how a contributors code-of-ethics for SQLite is relevant. Most of the things we use in our daily life are already tied to SQLite... The browser uses SQLite internally, my phone/ tablet and all other devices use SQLite. Every single app uses SQLite. Chances are the OS does too! The WP data itself may not be currently stored in an SQLite database, but the tech we use to write, access and distribute that data, for the most part is built around SQLite. I don't think we should make technological decisions based on whether we agree or not with a person's or group's religious beliefs. We should not dismiss a technology just because we don't subscribe to the creator's religious beliefs. The technology is good, it is used everywhere, and it's not going away - in fact, it's constantly growing. o [383] David Anderson 11:11 am on April 22, 2023 I don't think we should make technological decisions based on whether we agree or not with a person's or group's religious beliefs. We should not dismiss a technology just because we don't subscribe to the creator's religious beliefs. Aaron Jorbin already quoted from the WordPress code of conduct: "Inclusion is making sure that the environment is built to not simply tolerate diverse groups but to celebrate them as well." Unless this is some kind of Orwellian anti-statement which means the opposite of what it says, this question is already settled. In the WordPress project, the community that the SQLIte represent is not simply to be tolerated, but to be actively celebrated. o [750] Sergey Biryukov 3:43 pm on April 25, 2023 That code of ethics applies to people who want to contribute to SQLite itself. It appears that the current edition also includes a "scope of application" paragraph, so in my understanding it only applies to those who choose so: 2.1. Scope of Application No one is required to follow The Rule, to know The Rule, or even to think that The Rule is a good idea. [...] individuals are free to dispute or ignore that advice if they wish. 5. [43b] Andrew Ozz 9:19 pm on April 19, 2023 Talk of merging to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feels incredibly premature Totally agree. the SQLite implementation is a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. Just like all plugins, it can only be installed on a pre-existing website. As a result, a site can only use an SQLite database if it already has a MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database That's not necessarily true. There are at least couple of ways the SQLite code can be added to WordPress: 1. As a mu-plugin. These plugins are always loaded and cannot be disabled by the users. 2. As a "drop-in", similar to how caching addons/drop-ins are added. Both of these methods are also better/more suitable for the users as they can be done by the hosting company or the script used for WordPress installation. There are some other benefits like independent updates, etc. Another big concern imho is compatibility with existing plugins that add their own tables or change the database in any way. Seems a lot of testing would have to be done for them. + [18a] Ari Stathopoulos 6:11 am on April 20, 2023 Another big concern imho is compatibility with existing plugins that add their own tables or change the database in any way. Seems a lot of testing would have to be done for them. Yes, that is indeed a concern. So far we've tested the SQLite implementation with such plugins and there are no issues. The only problem will be with plugins that use a hardcoded connection to the database, like mysqli( DB_HOST, DB_USER, DB_PASSWORD, DB_NAME );. These plugins will need to start using $wpdb instead. 6. [383] David Anderson 11:48 pm on April 19, 2023 The code has been completely rewritten to use an SQL Lexer and is now stable and able to handle all WordPress queries properly Last time I used a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher SQL lexer, it was slow. How does this one perform? + [18a] Ari Stathopoulos 6:15 am on April 20, 2023 I don't currently have solid numbers and stats to share, that will need to come at a later time. However, from anecdotal stats from my localhost - which is by no means a reliable way to compare performance in real-world situations, it's pretty fast and the impact in performance is in no more than a few milliseconds (single-digit to low double-digit numbers) + [3b7] zieladam 8:40 am on April 27, 2023 @davidanderson Performance can be increased by lexing just once and caching the result. That being said, I would be super interested to learn about any performance figures you might have seen, even if it's just a rough estimate based on what you remember. Intuitively, I would expect the query execution to be much slower than the Lexer, maybe to the point where the impact of Lexing can is negligible. o [383] David Anderson 10:15 am on April 27, 2023 It was a few years ago. It was for UpdraftPlus - we were looking at analysing all SQL statements when restoring, using someone's PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher SQL lexer library, in order to be able to handle modifying the backup from one site for another (e.g. table prefix changes, detecting when the restore has moved on from one table to the next when using a customised SQL backup from another tool, handling various multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site situations, etc.). All I can say is that I remember we concluded it was too slow to be of practical use (and so instead we analysed all the SQL backups we could get our hands on and used our own hand-curated regexes - which over the years has turned out to work fine for our use case (i.e. we haven't come across any situations it didn't catch for many years now IIRC)). 7. [f35] justlevine 10:24 am on April 20, 2023 I'm confused. I was under the impression that despite not meeting the "decisions not options" or the "80% of users" benchmarks for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. inclusion, the justification for the original proposal eventually came down to "building a database abstraction layer would be a collosal task" so this would be a good starting point on a long term road to abstraction. Now the plan is to further entrench dependence on MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. by using a lexer, and the reason for inclusion in core is that same dependence? Why is this is a better approach than addressing the barriers in core that would let is use SQLite (or tbh at db solution) as a drop-in? + [18a] Ari Stathopoulos 11:37 am on April 20, 2023 A database abstraction layer would need to consist of the following: o Database Abstraction layer o Database drivers o Backwards-compatibility layer for plugins using MySQL MySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. so that we can translate them to a more abstract SQL syntax What we're doing with the Lexer is implementing a better backwards-compatibility layer. No matter which way we go (DBAL or SQLite-only), that will be a necessary step. o [f35] justlevine 9:43 pm on April 20, 2023 Thanks for clarifying ( I took "more future-proof concept" as an indicator that the Lexer was for the abstraction layer, not backcompat). I'm still confused about "Why should this be in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and not as a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/ plugins/ or can be cost-based plugin from a third-party?" The post only says why this doesn't work as a traditional plugin, but as @azaozz noted (and you seemed to have missed when you replied), that doesn't explain why an mu-plugin or a dropin wouldn't be a better home for SQLite support. The fact that the new implementation relies on a Lexer makes the question even stronger, since WP doesn't need to interact with SQLite directly anymore. Which means there's even less reason to be including the "translation translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. engine" for the 80% of users who don't need it instead of in a dropin. Leave a Reply Cancel reply You must be logged in to post a comment. This site uses Akismet to reduce spam. Learn how your comment data is processed. Post navigation - Dev Chat agenda, April 19, 2023 What's new in Gutenberg 15.6? (19 April) - Search [ ] [Search] Email Updates Enter your email address to subscribe to this blog and receive notifications of new posts by email. Email Address [ ] Subscribe Join 5,652 other subscribers * Recent Updates * Recent Comments * No Replies [Recent Updates ] Current Release The current release in progress is WordPress 6.3. Planned future releases are listed on the Project Roadmap. Feature projects not tied to specific releases can be found on the Features page. Regular Chats Note: All chats happen on Slack. * Weekly Developer Meetings: Wednesday 20:00 UTC in #core * About the Dev Chat * Agendas | Summaries --------------------------------------------------------------------- * APAC Triage Sessions Tuesday 5:00 UTC alternating between #core and #core-editor * JavaScript Weekly Chat Tuesday 14:00 UTC in #core-js * Performance Weekly Chat Tuesday 15:00 UTC in #core-performance * Multisite Weekly Chat Tuesday 17:00 UTC in #core-multisite * REST API Weekly Chat Thursday 18:00 UTC in #core-restapi * Editor Weekly Chat Wednesday 14:00 UTC in #core-editor * New Contributors Chat Wednesday 19:00 UTC in #core * Images/Media Weekly Chat Thursday 15:00 UTC in #core-media * CSS Weekly Chat Thursday 21:00 UTC in #core-css * Customize Weekly Chat Monday 19:00 UTC in #core-customize --------------------------------------------------------------------- See all meetings - Recent Posts and Comments Team Pledges 1965 people have pledged time to contribute to Core Team efforts! When looking for help on a project or program, try starting by reaching out to them! * About * News * Hosting * Donate * Swag * Documentation * Developers * Get Involved * Learn * Showcase * Plugins * Themes * Patterns * WordCamp * WordPress.TV * BuddyPress * bbPress * WordPress.com * Matt * Privacy * Public Code * Visit our Facebook page * Visit our Twitter account * Visit our Instagram account * Visit our LinkedIn account * Visit our YouTube channel Code is Poetry s search c compose new post r reply e edit t go to top j go to the next post or comment k go to the previous post or comment o toggle comment visibility esc cancel edit post or comment Please enable JavaScript to view this page properly.