Feeds
Python Insider: Python 3.12.7 released
I'm pleased to announce the release of Python 3.12.7:
https://www.python.org/downloads/release/python-3127/
Python 3.12 is the newest major release of the Python programming language, and it contains many new features and optimizations. 3.12.7 is the latest maintenance release, containing more than 100 bugfixes, build improvements and documentation changes since 3.12.6.
Major new features of the 3.12 series, compared to 3.11 New features- More flexible f-string parsing, allowing many things previously disallowed (PEP 701).
- Support for the buffer protocol in Python code (PEP 688).
- A new debugging/profiling API (PEP 669).
- Support for isolated subinterpreters with separate Global Interpreter Locks (PEP 684).
- Even more improved error messages. More exceptions potentially caused by typos now make suggestions to the user.
- Support for the Linux perf profiler to report Python function names in traces.
- Many large and small performance improvements (like PEP 709 and support for the BOLT binary optimizer), delivering an estimated 5% overall performance improvement.
- New type annotation syntax for generic classes (PEP 695).
- New override decorator for methods (PEP 698).
- The deprecated wstr and wstr_length members of the C implementation of unicode objects were removed, per PEP 623.
- In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2).
- The deprecated smtpd and distutils modules have been removed (see PEP 594 and PEP 632. The setuptools package continues to provide the distutils module.
- A number of other old, broken and deprecated functions, classes and methods have been removed.
- Invalid backslash escape sequences in strings now warn with SyntaxWarning instead of DeprecationWarning, making them more visible. (They will become syntax errors in the future.)
- The internal representation of integers has changed in preparation for performance enhancements. (This should not affect most users as it is an internal detail, but it may cause problems for Cython-generated code.)
For more details on the changes to Python 3.12, see What’s new in Python 3.12.
More resources- Online Documentation.
- PEP 693, the Python 3.12 Release Schedule.
- Report bugs via GitHub Issues.
- Help fund Python directly or via GitHub Sponsors, and support the Python community.
Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.
Your release team,
Thomas Wouters
Łukasz Langa
Ned Deily
Steve Dower
GSOC: Week 8 to Week 16
The End is here!
The long journey of GSoC (which got streched into 16 weeks) is nearing to an end. And in this blog, I will share a few of the things I have done, and some of the things I have left to do. Let’s start with the main works.
Snap KCM! It’s here!I have finally succeeded to create a KCM for snaps. This is written using C++, Qt (Qml), Kirigami, Snapd-Glib Api. The flow is something like this
Python Insider: Python 3.13.0 release candidate 3 released
I'm pleased to announce the release of Python 3.13 release candidate 3 (instead of the expected final release).
https://www.python.org/downloads/release/python-3130rc3/
This is the final release candidate of Python 3.13.0
This release, 3.13.0rc3, is the final release preview (no really) of 3.13. This release is expected to become the final 3.13.0 release, barring any critical bugs being discovered. The official release of 3.13.0 is now scheduled for Monday, 2024-10-07.
This extra, unplanned release candidate exists because of a couple of last minute issues, primarily a significant performance regression in specific workloads due to the incremental cyclic garbage collector (introduced in the alpha releases). We decided to roll back the garbage collector change in 3.13 (and continuing work in 3.14 to improve it), apply a number of other important bug fixes, and roll out a new release candidate.
There will be no ABI changes from this point forward in the 3.13 series (and there haven't been any since the beta releases).
Call to actionWe strongly encourage maintainers of Python projects to prepare their projects for 3.13 compatibilities during this phase, and where necessary publish Python 3.13 wheels on PyPI to be ready for the final release of 3.13.0. Any binary wheels built against Python 3.13.0rc1 and later will work with future versions of Python 3.13. As always, report any issues to the Python bug tracker.
Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.
Core developers: time to work on documentation now- Are all your changes properly documented?
- Are they mentioned in What’s New?
- Did you notice other changes you know of to have insufficient documentation?
Some of the new major new features and changes in Python 3.13 are:
New features- A new and improved interactive interpreter, based on PyPy’s, featuring multi-line editing and color support, as well as colorized exception tracebacks.
- An experimental free-threaded build mode, which disables the Global Interpreter Lock, allowing threads to run more concurrently. The build mode is available as an experimental feature in the Windows and macOS installers as well.
- A preliminary, experimental JIT, providing the ground work for significant performance improvements.
- The locals() builtin function (and its C equivalent) now has well-defined semantics when mutating the returned mapping, which allows debuggers to operate more consistently.
- A modified version of mimalloc is now included, optional but enabled by default if supported by the platform, and required for the free-threaded build mode.
- Docstrings now have their leading indentation stripped, reducing memory use and the size of .pyc files. (Most tools handling docstrings already strip leading indentation.)
- The dbm module has a new dbm.sqlite3 backend that is used by default when creating new files.
- The minimum supported macOS version was changed from 10.9 to 10.13 (High Sierra). Older macOS versions will not be supported going forward.
- WASI is now a Tier 2 supported platform. Emscripten is no longer an officially supported platform (but Pyodide continues to support Emscripten).
- iOS is now a Tier 3 supported platform
- Android is now a Tier 3 supported platform as well.
- Support for type defaults in type parameters.
- A new type narrowing annotation, typing.TypeIs.
- A new annotation for read-only items in TypeDicts.
- A new annotation for marking deprecations in the type system.
- PEP 594 (Removing dead batteries from the standard library) scheduled removals of many deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib, lib2to3.
- Many other removals of deprecated classes, functions and methods in various standard library modules.
- C API removals and deprecations. (Some removals present in alpha 1 were reverted in alpha 2, as the removals were deemed too disruptive at this time.)
- New deprecations, most of which are scheduled for removal from Python 3.15 or 3.16.
(Hey, fellow core developer, if a feature you find important is missing from this list, let Thomas know.)
For more details on the changes to Python 3.13, see What’s new in Python 3.13. The next release of Python 3.13 will be the official 3.13.0 release, currently scheduled for Monday, 2024-10-07.
More resources- Online Documentation
- PEP 719, 3.13 Release Schedule
- Report bugs at Issues · python/cpython · GitHub.
- Help fund Python directly (or via GitHub Sponsors), and support the Python community.
Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.
Your release team,
Thomas Wouters
Łukasz Langa
Ned Deily
Steve Dower
Real Python: Quiz: When to Use a List Comprehension in Python
In this quiz, you’ll test your understanding of List Comprehension in Python.
By working through this quiz, you’ll revisit how to rewrite loops as list comprehensions, how to choose when to use list comprehensions, how you can use conditional logic in your comprehensions, and how to profile your code to resolve performance questions.
[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
1xINTERNET blog: DrupalCon Barcelona - A seminal moment in Drupal’s history
DrupalCon is the biannual conference where leaders in Drupal gather to coordinate, collaborate and present the latest developments in digital and web technologies. This week 1xINTERNET attended DrupalCon Barcelona in full force. But this conference was like none before it, this was Starshots World Premier and it exceeded all expectations.
Guido Günther: Free Software Activities September 2024
Another short status update of what happened on my side last month. Besides the usual amount of housekeeping last month was a lot about getting old issues resolved by finishing some stale merge requests and work in pogress MRs. I also pushed out the Phosh 0.42.0 Release
phosh- Mark mobile-data quick setting as insensitive when modem is off (MR)
- Document handler naming (MR)
- Phosh 0.41.1 (MR)
- Phosh 0.42~rc1 (MR)
- Phosh 0.42.0 (MR)
- Handle per app notification enable setting (MR) (a 3y old MR cleaned up and out of the way)
- Use parent's icon if child doesn't have one (MR (another 1y old MR moved out of draft status)
- Fix Rust build and upcoming events .plugin file (MR)
- Lint markdown (MR)
- Sanitize versions as this otherwise breaks the libphosh-rs build (MR)
- lockscreen: Swap deck and carousel to avoid triggering the plugins page when entering pin and let the lockscreen shrink to smaller sizes (MR) (two more year old usability issues out of the way)
- Let bitfield values end up in the docs again (MR)
- Don't focus incorrect app on launch (MR). This could happen with apps like calls that run a daemon (and needs more work for a clean solution).
- Continue with wallpaper MR (MR) (still draft)
- Brush up and land an old MR to avoid crashes on scale changes (MR). Another five month old MR out of the way.
- API version the shared library (MR)
- Ensure we send enough feedback when phone is blanked/locked (MR). This should be way easier now for apps as they don't need to do anything and we can avoid duplicate feedback sent from e.g. Chatty.
- Fix possible use after free when activating notifications on the lock screen (MR)
- Simplify layer-surface creation / destruction (MR)
- Don't lose preedit when switching applications, opening menus, etc (MR). This fixes the case (e.g. with word completion in phosh-osk-stub enabled) where it looks to the user as if the last typed word would get lost when switching from a text editor to another app or when opening a menu
- Ease focus debugging (MR)
- Release 0.42~rc1 (MR)
- Release 0.42.0 (MR)
- Mention examples in docs and check more things (MR)
- Update Phosh-0.gir with above phosh fixes to unbreak the build (MR)
- Rework to work with API versioned libphosh (MR)
- Add paste button to easy pasting text (MR)
- Add copy button (draft) (MR)
- Fix word salad with presage completer when entering cursor navigation mode (and in some other cases) (MR 1). Presage has the best completion but was marked experimental due to that.
- Submit preedit on changes to terminal and emoji layout (MR)
- Enable hint based completion by default (MR)
- Release 0.42~r1 (MR)
- Release 0.42.0 (MR)
- Weekly image builds of nightly packages are now built in CI and uploaded.
- Handle Fixes: tag in git commit messages as well (MR)
- Let release prep handle non-RC versions as well (MR)
- Add common markdown linter job (MR)
- Update wlr-randr (MR)
- Upload libqmi developement snapshot (MR) (Helps eSIM and CellBroadcast)
- Update phosh to not crash with GSD from GNOME 47 (MR)
- Fix systemd unit path in calls (MR)
- Package wikietractor (MR)
- More work on Cell Broadcast so we can finally undraft (MR)
- Check consistency when building releases (MR
- Object life cycle fixes (MR)
- Use DBus activation (MR). This ensures it spawns quickly rather than phosh's splash screen timing out.
- Add user unit for mpris proxy so it works out of the box (Patch) and one can skip e.g. songs in a cars media unit
- Wrap info-bar more (MR) to fit smalls screens
- Forward metainfo/desktop file updates from Mobian (MR) (patch originally by Arnaud Ferraris)
- Add udev rule to support haptic on Oneplus Fajita / Enchilada's (non-mailine driver) (MR)
- Support alert-slider on OnePlus 6/6T (MR. Based on a script by "isyourbrain foss".
- Release 0.5.0 (MR)
- Improve spec a bit regarding notification events (MR)
- Don't send feedback for notifications (MR). The notification daemon does this already.
- Add event for cellbroadcast messages (MR)
- Switch to DBus activation (MR). This ensures the compositor sees the activation token and is will be useful for unified push.
- Don't let scroll_down button take focus (MR). This prevents the OSK from folding when the text view is focused and ones scrolls to the bottom.
- Use revealer to show/hide scroll_down button (MR) - just to make the visual more appealing
- Unbreak messge display (MR)
- Unbreak application icon (MR)
- Drop special preedit handling (MR).
- Drop margin so we can fit on smaller screens (MR). This helps phosh on lower effective resolutions.
- Backport margin patch (MR)
- Fix doc formatting for g_input_stream_read_all* (MR)
- Add toplevel responsiveness state (MR) so phosh can inform about unresponsive apps
- Modernize docs to use debian/latest instead of debian/sid (commit, commit).
- Use pytest instead of nose as test runner (MR)
- Release 0.9.35
- Unbreak and modernize CI a bit (MR). A passing CI is so much more motivating for contributers and reviewers.
- Fix app-id and hence the icon shown in Phosh's overview (MR)
If you want to support my work see donations. This includes a list of hardware we want to improve support for. Thanks a lot to all current and past donors.
Qt Creator 14.0.2 released
We are happy to announce the release of Qt Creator 14.0.2!
Google Summer of Code 2024
Programmes like Season of KDE (SoK) and Google Summer of Code (GSoC) provide a great opportunity for young talent to become part of the open source community and contribute to open source projects. LabPlot, and KDE in general, has a long history and experience in managing GSoC projects and has benefited from various contributions. In recent years we have taken a break from GSoC, mostly due to personal reasons and time constraints. After a successful SoK 2024 programme this year we decided to participate in GSoC2024 again.
This year we had Israel Gladima and Kuntal Bar who spent 3 months with us working on quite challenging projects aimed at addressing two major feature gaps in LabPlot, namely Python scripting and visualisation of 3D data. These two development topics had already been the subject of several discussions and even initial implementations on our part, but we never managed to finalise them and make these features available to our users. Based on the already available results of the last years’ work, we decided to re-initiate these projects and work on them during GSoC2024. Despite the technical challenges and complexity of these projects, Kuntal and Israel did a very good job this summer and delivered amazing results.
We refer you to their blog posts here and here for more details of the work that has been done. In the coming weeks and months we’ll continue to work to finalise these features and get them ready for the first release. The LabPlot team would like to thank Israel and Kuntal and we’re looking forward to your contributions in the future!
Translating Qt Applications
Translating a Qt application, can be a daunting task. This is an overview from Qt 5 to Qt 6 and what new functionality Qt 6.7 brings.
Continue reading Translating Qt Applications at basysKom GmbH.
Tryton News: Newsletter September 2024
During the last month we mainly focus on bug fixes, behaviour improvements of several things and speeding-up performance issues stepping forward to our next release 7.4 scheduled to the 4th of November. We also added some new features which we would like to introduce to you in this newsletter.
For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.
Changes for the User Sales, Purchases and ProjectsWe add a new sale reporting per promotion.
We add now a relate from promotions to their sales.
We improved the exception handling wizards on sales and purchases. We added two fields to let the user explicitly fill with the records to ignore or to re-create.
Any cancelled record that is not added to one of the fields, will stay in exception state to be proceeded later. Also we changed the view between a MultiSelection to a Many2Many field depending on the number of records in the exception state.
Now, Tryton doesn’t add extra lines on sale orders for inactive products. Also Tryton does no longer recommend inactive products.
We removed the Menu: Parties → Parties → Parties Associated to Sales/Purchases entries, because the result is not limited to sales or purchases in state validated or processing. A draft, quotation or cancelled order doesn’t qualify a party as a customer or supplier. The functionality is already replaced by the reports in Menu: Sales → Reporting → Sales, Sales per Customer and Menu: Purchases → Reporting → Purchases, Purchases per Supplier which adds the ability to filter per state and per period.
Accounting, Invoicing and PaymentsNow we re-launch the update of the payment customer for Stripe and Braintree in case it failed. Also the users can manually initiate the update process.
Stock, Production and ShipmentsNow we round up weights and the other measurements to two decimals for the shipping carriers DPD, Sendcloud and UPS.
We make package measurements read-only once they are closed.
User InterfaceWe remove the favourite management from the favourite menu, because of
several issues [1] [2] and duplicated functionality.
Now we group links with a similar functional scope together.
In Menu: Administration → User Interface the entries
- View Tree Widths,
- View Tree Optionals,
- View Tree States and
- View Searches
are moved to the Open related records toolbar-menu of Menu: Administration → Models → Models.
We improve the widget for MultiSelection fields in the Tryton clients by adding checkboxes which display the selection state of the row. If the users clicks on a row, the selection state will be changed.
Now we visually remove records from Many2Many fields used in Wizard instead of greying them out.
We keep the CSV export dialogue now opened after exporting, to have a better user experience when fixing bugs, export and again fixing bugs.
Since we moved the functionality from product_price_list_dates to product_price_list, you can open price list lines in a new tab to be able to filtering, search or import import them.
New Documentation or NamingWe improved and unified the stock action naming and re-worked documentation:
- Rename “Product Quantities By Warehouse” into “Stock Quantities By Warehouse.”
- Remove “Lots By Warehouse” relate as the same view can be opened from the stock location relate.
- Rename prefix “Locations Quantity” to “Stock Locations”.
- Document viewing stock levels of lots.
- Rename “Products by Locations” into “Products”, as the locations are added to the tab name, there is no need to specify.
We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.2.
Please update your systems to take care of a security related bug we found last month: trytond allows to execute reports for records for which the user has no read access and also for reports limited to a set of groups that the user is not member of.
Changes for the System AdministratorNow we use a random value for cron next call field when no value is defined.
Now we log the last cron scheduler runs and their durations. A new cron task periodically cleans the log entries. The new cron-section configuration variable clean_days (default 30) sets this period.
Changes for Implementers and DevelopersThe Tryton view-tests now check for some more attributes like sequence and on_write in tree-views or dtstart and dtend in calendar-views.
Now we unify the term “email”, as it is now the most common and recommended form.
We add to all “cost”-terms a “sale”-suffix in sale shipment cost fields to improve the naming convention and to avoid collisions or misinterpretations.
1 post - 1 participant
Specbee: Simplifying Drupal and Salesforce integration: A how-to guide
William Minchin: u202409302311
Summary plugin for Pelican v1.3.0 released! Now keeps internal link indicators (like {filename}) from leaking into summaries. on PyPI #Summary (Pelican) #Pelican Plugins #Releases #Python
FSF Blogs: Free Software Supporter -- Issue 198, October 2024
Free Software Supporter -- Issue 198, October 2024
William Minchin: u202409301853
CommonMark Pelican reader v2.0.1! Should stop complaining about intra-document links (e.g. #target) on PyPI #CommonMark Reader #Pelican Plugins #Releases #Python
Tellico 4.0.1 Released
Tellico 4.0.1 is available, with a couple bug fixes.
Improvements and Bug Fixes- Fixed encoding for HTML export in Qt6 (Bug 493180).
- Fixed compilation with Qt6/msvc.
- Added a menu item for changing the application language.
KDE's Akademy 2024: Building Culture and Memories
Krita 5.2.6 Released!
Krita 5.2.6 fixes a critical error with pass-through group layers (https://bugs.kde.org/show_bug.cgi?id=493774).
Download WindowsIf you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.
Note: We are no longer making 32-bit Windows builds.
- 64 bits Windows Installer: krita-5.2.6-setup.exe
- Portable 64 bits Windows: krita-5.2.6.zip
- Debug symbols. (Unpack in the Krita installation folder)
- 64 bits Linux: krita-5.2.6-x86_64.appimage
The separate gmic-qt AppImage is no longer needed.
(If, for some reason, Firefox thinks it needs to load this as text: right-click on the link to download.)
MacOSNote: We're not supporting MacOS 10.13 anymore, 10.14 is the minimum supported version.
- MacOS disk image: krita-5.2.6-release.dmg
We consider Krita on ChromeOS as ready for production. Krita on Android is still beta. Krita is not available for Android phones, only for tablets, because the user interface requires a large screen.
Source code md5sumFor all downloads, visit https://download.kde.org/stable/krita/5.2.6/ and click on "Details" to get the hashes.
KeyThe Linux AppImage and the source .tar.gz and .tar.xz tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).
Evolving Web: Dries Presents Drupal CMS at DrupalCon Barcelona - Leading the Way in AI-Assisted Site Building
At DrupalCon Barcelona 2024, Dries Buytaert, the creator and project lead of Drupal, delivered his 40th DriesNote, in which he shared an exciting vision of where the platform is heading, with a strong focus on Drupal CMS (the product being developed as part of the Starshot Initiative). As part of the Starshot Initiative’s Leadership Team, I’m the Marketing Lead, working to align the positioning of the product with the needs of our target audiences: primarily marketers, content teams, and site builders, but also evaluators, designers, and developers.
The Drupal Starshot Leadership team, featuring Dries Buytaert as the Product Lead, Tim Plunkett as the Technical Lead, Pamela Barone as the Product Owner, Cristina Chumillas as the UX Lead, Lenny Moskalyk as the Delivery Manager, Gabor Hojsy as the Contrib Coordinator and Suzanne Dergacheva (that's me!) as the Marketing Lead.
I’m also excited to contribute along with my colleagues at Evolving Web— who are leading the Analytics track. We’re proud to contribute to Drupal CMS (formerly known as Starshot). With a focus on Drupal CMS, Experience Builder, AI innovations, and a commitment to responsible AI, Dries outlined how the platform is becoming more accessible to non-developers while pushing the innovation and flexibility that Drupal is known for.
If you missed the DriesNote, I will share some key takeaways below. Check out the recording for the preview demo of Drupal CMS and all the exciting features ahead directly from Dries.
Drupal CMSDrupal CMS is being designed to make the power of Drupal more accessible than ever, offering preconfigured solutions that allows marketers, web designers, and organizations to easily build and manage their own websites.
It’s important to note that Drupal CMS isn’t some reduced-functionality, beginner-friendly version—it’s built on the robust foundation of Drupal Core. This means that while it is designed to make getting started with Drupal easier for new users, it still offers all the power, flexibility, and scalability that experienced developers rely on. Drupal CMS will open the door to greater adoption directly by marketers and non-developers, making it simpler to use without sacrificing any of the advanced capabilities that make Drupal such a powerful tool for complex websites.
Preview of Drupal CMSIn the DriesNote demo, Dries demonstrated just how easy it will be to get up and running with Drupal CMS, by showing how a fictional marketer named ‘Sarah’ could easily create a wine tour website with a calendar to highlight upcoming tasting tours.
What Are Recipes?A standout feature of Drupal CMS is the introduction of Recipes, which are pre-configured functionality, like SEO optimization or event management, that can be easily added to your website. They package content types and other configuration into easily reusable bundles.
The benefit is that you can add features quickly, use smart defaults that have been carefully selected by experts, and take advantage of best practices even if you’re not a technical user.
Dries demonstrated how Sarah used an Events Recipe to set up an interactive calendar and SEO-friendly pages for her wine tour website. With just a few clicks, Sarah was able to accomplish in hours what would previously take days.
The Recipes dashboard shows the status of the Recipes currently underway
AI-Driven Site Building and Migration
One of the most exciting moments of the DriesNote was the unveiling of AI Agents, which automate many complex tasks in Drupal. These AI agents, embedded within Drupal CMS, allow non-technical users to rename content types, create custom fields, and enforce image quality standards—all through simple, plain-language commands.
Dries showed how Sarah leveraged AI to make critical site changes quickly. From migrating content from a non-Drupal website to setting up structured content types, AI simplifies traditionally cumbersome processes.
Additionally, Drupal’s AI is transparent and flexible. Users can see what language models are used and even swap out the default AI providers with their own models, offering an extra layer of customization and control.
A Commitment to Responsible AIAs part of Drupal’s commitment to the open web, Dries announcedDrupal’s new Responsible AI Policy, which is built around the following principles:
- Human in the Loop: AI decisions must be reviewable and reversible by a human.
- Transparency: Users must know where and how AI is being used on their sites.
- AI Model Flexibility: Drupal users can select different AI providers based on their needs, ensuring that privacy, ethics, and energy efficiency are prioritized.
This policy has been developed to not only drive the incorporation of AI features into Drupal CMS but to also encourage its adoption by other parts of the Drupal ecosystem including Drupal core and Drupal contrib.
Experience BuilderAnother major highlight from the keynote was a preview of Experience Builder, a React-based interface for modifying the UX and UI of a website. It provides content editors and marketers with a no-code builder that gives end-users the ability to add components, select styling options, and apply branding to the website without writing custom code. What really makes it user-friendly is how fast the interface is. Thanks to the fact that it’s React-based, clicks feel instant. This encourages users to experiment and makes the overall experience much more positive. It’s built using Single Directory Components (SDCs), making it familiar to front-end developers.
Experience Builder will be part of Drupal CMS but is also set to revolutionize the way that all Drupal websites are built. The plan is for it to eventually replace the current Drupal admin UI, providing a more intuitive way to edit all aspects of a Drupal website. During the keynote, Dries presented a demo of Experience Builder, showcasing its initial version, with drag-and-drop interface, as well as an overview of what it will look like in the future.
With 30 full-time developers working on it—making it the largest, fastest-moving initiative ever undertaken in Drupal—Experience Builder will significantly modernize how websites are built and managed in Drupal, eventually replacing the current Drupal admin interface.
A preview of what Experience builder will look like
A Roadmap for Drupal CMS
A pre-release version of Drupal CMS is available to install so you can try it out and a hosted version is also available so you can try out the AI capabilities for yourself right from your browser. The first release of Drupal CMS will happen on January 15th, 2025—Drupal’s 24th birthday. A release candidate will be launched at DrupalCon Singapore, happening on December 9-11, 2024. Experience Builder will be included in version 2 of Drupal CMS sometime in 2025.
The “Adopt a Document” ProgramIn addition to these technical advancements, Dries introduced the Adopt-a-Document program, a new initiative aimed at improving Drupal’s documentation, not only for Drupal CMS but also for Drupal Core. Organizations can sponsor sections of documentation to help ensure that Drupal remains well-supported and accessible for all users through a partnership with Drupalize.me. In addition, the Drupal Association is hiring a full-time documentation lead.
Get InvolvedThe message of Dries’ keynote was clear: Drupal CMS is not just about making web development easier; it’s about making the open web accessible to everyone. With AI-driven tools, intuitive page building, and a commitment to responsible technology, Drupal CMS is set to bring the power of Drupal to a whole new generation of users.
Whether you're a developer, a site builder, or a marketer, this is a great time to get involved and help shape the future of Drupal. Want to join us in pushing these initiatives forward? Get in touch or learn more at drupal.org/about/starshot.
Dries Buytaert: State of Drupal presentation (September 2024)
Approximately 1,100 of Drupal enthusiasts gathered in Barcelona, Spain, this week for DrupalCon Europe. As a matter of tradition, I delivered my State of Drupal keynote, often referred to as the "DriesNote".
If you missed it, you can watch the video or download my slides (177 MB).
In my keynote, I gave an update on Drupal Sharshot, an ambitious initiative we launched at DrupalCon Portland 2024. Originally called Drupal Starshot, inspired by President Kennedy's Moonshot challenge, the product is now officially named Drupal CMS.
The goal of Drupal CMS is to set the standard for no-code website building. It will allow non-technical users, like marketers, content creators, and site builders, to create digital experiences with ease, without compromising on the power and flexibility that Drupal is known for.
A four-month progress report A preview of Drupal.org's front page with the updated Drupal brand and content.While Kennedy gave NASA eight years, I set a goal to deliver the first version of Drupal CMS in just eight months. It's been four months since DrupalCon Portland, which means we're halfway through.
So in my keynote, I shared our progress and gave a 35-minute demo of what we've built so far. The demo highlights how a fictional marketer, Sarah, can build a powerful website in just hours with minimal help from a developer. Along her journey, I showcased the following key innovations:
- A new brand for a new market: A brand refresh of Drupal.org, designed to appeal to both marketers and developers. The first pages are ready and available for preview at new.drupal.org, with more pages launching in the coming months.
- A trial experience: A trial experience that lets you try Drupal CMS with a single click, eliminating long-standing adoption barriers for new users. Built with WebAssembly, it runs entirely in the browser – no servers to install or manage.
- An improved installer: An installer that lets users install recipes – pre-built features that combine modules, configuration, and default content for common website needs. Recipes bundle years of expertise into repeatable, shareable solutions.
- Events recipe: A simple events website that used to take an experienced developer a day to build can now be created in just a few clicks by non-developers.
- Project Browser support for recipes: Users can now browse the Drupal CMS recipes in the Project Browser, and install them in seconds.
- First page of documentation: New documentation created specifically for end users. Clear, effective documentation is key to Drupal CMS's success, so we began by writing a single page as a model for the quality and style we aim to achieve.
- AI for site building: AI agents capable of creating content types, configuring fields, building Views, forms, and more. These agents will transform how people build and manage websites with Drupal.
- Responsible AI policy: To ensure responsible AI development, we've created a Responsible AI policy. I'll share more details in an upcoming blog, but the policy focuses on four key principles: human-in-the-loop, transparency, swappable large language models (LLMs), and clear guidance.
- SEO Recipe: Combines and configures all the essential Drupal modules to optimize a Drupal site for search engines.
- 14 recipes in development: In addition to the Events and SEO recipes, 12 more are in development with the help of our Drupal Certified Partners. Each Drupal CMS recipe addresses a common marketing use case outlined in our product strategy. We showcased both the process and progress during the Initiative Lead Keynote for some of the tracks. After DrupalCon, we'll begin developing even more recipes and invite additional contributors to join the effort.
- AI-assisted content migration: AI will crawl your source website and handle complex tasks like mapping unstructured HTML to structured Drupal content types in your destination site, making migrations faster and easier. This could be a game-changer for website migrations.
- Experience Builder: An early preview of a brand new, out-of-the-box tool for content creators and designers, offering layout design, page building, basic theming and content editing tools. This is the first time I've showcased our progress on stage at a DrupalCon.
- Future-proof admin UI with React: Our strategy for modernizing Drupal's backend UI with React.
- The "Adopt-a-Document" initiative: A strategy and funding model for creating comprehensive documentation for Drupal CMS. If successful, I'm hopeful we can expand this model to other areas of Drupal. For more details, please read the announcement on drupal.org.
- Global Documentation Lead: The Drupal Association's commitment to hire a dedicated Documentation Lead, responsible for managing all aspects of Drupal's documentation, beyond just Drupal CMS.
The feedback on my presentation has been incredible, both online and in-person. The room was buzzing with energy and positivity! I highly recommend watching the recording.
Attendees were especially excited about the AI capabilities, Experience Builder, and recipes. I share their enthusiasm as these capabilities are transformative for Drupal.
Many of these features are designed with non-developers in mind. Our goal is to broaden Drupal's reach beyond its traditional user base and reach more people than ever before.
Release scheduleOur launch plan targets Drupal CMS's release on Drupal's upcoming birthday: January 15, 2025. It's also just a couple of weeks after the Drupal 7 End of Life, marking the end of one era and the beginning of another.
The next milestone is DrupalCon Singapore, taking place on December 9–11, 2024, less than 3 months away. We hope to have a release candidate ready by then.
Now that we're back from DrupalCon and have key milestone dates set, there is a lot to coordinate and plan in the coming weeks, so stay tuned for updates.
Call for contributionAmbitious? Yes. But achievable if we work together. That's why I'm calling on all of you to get involved with Drupal CMS. Whether it's building recipes, enhancing the Experience Builder, creating AI agents, writing tests, improving documentation, or conducting usability testing – there are countless ways to contribute and make a difference. If you're ready to get involved, visit https://drupal.org/starshot to learn how to get started.
Thank youThis effort has involved so many people that I can't name them all, but I want to give a huge thank you to the Drupal CMS Leadership Team, who I've been working with closely every week: Cristina Chumillas (Lullabot), Gábor Hojtsy (Acquia), Lenny Moskalyk (Drupal Association), Pamela Barone (Technocrat), Suzanne Dergacheva (Evolving Web), and Tim Plunkett (Acquia).
A special shoutout goes to the demo team we assembled for my presentation: Adam Hoenich (Acquia), Amber Matz (Drupalize.me), Ash Sullivan (Acquia), Jamie Abrahams (FreelyGive), Jim Birch (Kanopi), Joe Shindelar (Drupalize.me), John Doyle (Digital Polygon), Lauri Timmanee (Acquia), Marcus Johansson (FreelyGive), Martin Anderson-Clutz (Acquia), Matt Glaman (Acquia), Matthew Grasmick (Acquia), Michael Donovan (Acquia), Tiffany Farriss (Palantir.net), and Tim Lehnen (Drupal Association).
I also want to thank the Drupal CMS track leads and contributors for their development work. Additionally, I'd like to recognize the Drupal Core Committers, Drupal Association staff, Drupal Association Board of Directors, and Certified Drupal partners for continued support and leadership. There are so many people and organizations whose contributions deserve recognition that I can't list everyone individually, partly to avoid the risk of overlooking anyone. Please know your efforts are deeply appreciated.
Lastly, thank you to everyone who helped make DrupalCon Barcelona a success. It was excellent!