Open Roadmaps, Public Building
September 28, 2024
tl;dr;
Our official roadmaps are now available on GitHub, serving as our single source of truth.
We've introduced three distinct roadmaps: community edition (open source), enterprise edition (commercial license), and ecosystem (integrations).
We're committed to building in public by sharing all our research, thought processes, and decision-making openly.
Community-filed issues are initially marked as "under consideration" and are reviewed twice a month by our core team.
The next minor version, featuring new updates, is scheduled for release on December 5th, coinciding with this year's Vendure Conf 2024.
Building in public
At the beginning of this month, I asked myself: What does being an 'open source company' truly mean to us? After internal discussions, we arrived at a simple conclusion. For us, it means not only sharing the result of our work —our product— but also providing insights into how we deliver that product to the public.
With this philosophy in mind, we decided to manage our roadmaps directly on GitHub. It's the platform where most of our users and community reside. Moreover, it makes it significantly easier for us to keep the roadmap accurate and up-to-date. This is partly due to certain automations we can implement, but also because we're held accountable by our community. There's an implied pressure when everything is in the public eye.
Another consideration was the increasing use of Large Language Models (LLMs) in today's development processes. The output of chat agents like ChatGPT is only as good as their training input, which is directly impacted by the amount of publicly available information.
Our thesis is that the more we document and share publicly, the better we can support our most important group: developers building solutions with Vendure. We believe this approach will lead to more accurate answers that pinpoint GitHub issues, our documentation, or our website.
Public roadmaps
#1 Community Edition aka open-source project
This roadmap can be found on our GitHub repo in the tab “Projects”.
Let me describe our workflow real quick by explaining the different statuses:
👀 Under Consideration: Most new issues will eventually move to this status through our ongoing triage process, conducted by the core and open-source community team. This status affirms that we believe the proposed feature, bug fix, or improvement would significantly benefit our project.
📦 Backlog: In our bi-monthly roadmap refinement sessions, we discuss issues under consideration. If we decide our team should work on an issue within the next few months, we move it to the backlog. Once your issue reaches the backlog, you can be confident it will be shipped in a new version within the coming months.
📅 Planned: After a release, it's time to plan the next one. Our team meets post-release to outline future versions. We don't just plan for the immediate next release; instead, we maintain a buffer of 3 to 4 minor releases in our pipeline. This approach enhances predictability for our community regarding upcoming features and bug fixes. It also keeps us more accountable as a team.
♻ In Progress: This status indicates issues that our community and core team are actively working on. It represents the current focus of development efforts.
💯 Ready: Issues that have been resolved, merged, and closed. These will be shipped with the release of their assigned milestone.
🚀 Shipped: Once a new version is released, the respective milestone is closed, and all issues previously in the "💯 Ready" state are automatically moved to this status.
Our main objective with this workflow is to be fully transparent about our decision-making process. We believe we owe this level of openness to our community. However, this doesn't mean that every feature request or new idea will automatically be incorporated into the open-source version.
We're committed to striking a balance between our passion for open source and the need to build a viable, commercially successful business model. This balance fuels our ongoing dedication to both the community and the long-term sustainability of Vendure.
#2 Enterprise editions aka commercial license
Our enterprise editions are available under our own commercial license, the Vendure Commercial License (VCL). These editions expand commercial redistribution options for our users. If you're interested, please visit our pricing page and contact us through our form. We're here to help you choose the right license for your next Vendure project.
Important: Our enterprise editions aren't separate products. They're built on top of the open-source community edition, enhanced with features crucial for larger teams with specific security, observability, and other enterprise-level needs. For many planned enterprise features, we're opening up APIs in the community edition to enable their implementation. This approach creates a win-win situation for us, our community, and our enterprise clients.
We're finalizing the enterprise roadmap and will publish it by the end of October. Once live, we'll announce it through our newsletter, on our Discord server, and add the link to this article. To stay informed, please sign up for our newsletter or reach out via our contact form.
#3 Ecosystem aka integrations and extensions
This roadmap focuses on integrations with third-party software such as payment providers, shipment providers, CMS, PIM, and ERP systems. We'll manage it similarly to our enterprise roadmap.
We'll gather proposals for this roadmap from our community, agency partners, and other sources. Our core team will then address the key question: "Should this integration become a core plugin, a community plugin, or a paid plugin (third-party or first-party)?"
Integrations play a crucial role in our overall product strategy, which is why we'll be publishing a dedicated article on this topic.
How things will work in practice
Prioritization of Issues
This is undoubtedly one of the most complex processes for us. As a bootstrapped company with limited resources, we're constantly striving to find the right balance between contributions to our open-source community edition and our commercial products.
To address this challenge, we've developed the following prioritization methodology:
Core team prioritization: Our Vendure core team considers our vision, commercial strategy, and open-source goals.
Enterprise customer input: Our enterprise customers have exclusive voting rights, and we also prioritize changes necessitated by new feature development in the enterprise edition.
Community-driven priorities: We gauge community interest through reactions and activity on GitHub issues.
Processing "Under Consideration" Issues
As briefly described in the "Public roadmaps" section, we hold a roadmap refinement session twice a month to discuss issues individually. If we decide an issue is worth our investment, we'll promote it to the backlog. If not, we'll add a comment explaining why we won't work on the issue (for now) and add the contributions welcome
badge. For issues we deem completely out of scope, we'll close them with a comment explaining our decision.
Our Interpretation of Semantic Versioning
As many of you might have noticed, the release of our latest major version, v3, was primarily due to the license change from MIT to GPLv3. If you'd like to learn more about this decision, I recommend reading the articles that explain this move and address some myths surrounding the GPL license.
Of course, we don't want our users to wait for the next major version (v4) to access new features that have breaking changes. That's why we've developed our own interpretation of semantic versioning:
Features without breaking changes: These will be released as usual with minor versions. An update should not introduce any critical bugs to your applications. With our test suite of more than 2,000 tests (yes, you read that right), we're confident in our ability to release regression-free minor versions.
Features with breaking changes: These will also be released with minor versions, but in a non-breaking way. This means they'll need to be manually enabled with feature flags — read more about them here. As a developer, you'll be able to easily update to the next minor version and test new features and their breaking changes one by one in your own codebase. In many applications, there might be few to no breaking changes; in others, the application might not even start. The choice is yours: invest the time to use the new feature or wait for a better moment.
Bug fixes: These will be released as soon as possible, typically in patch versions.
We're confident this approach provides us with the flexibility to innovate through short release cycles while sparing developers countless hours of frustration in trying to make their applications work again.
As developers ourselves, we've faced these challenges numerous times. In retrospect, it was never a pleasant experience. That's precisely why we're committed to shielding others from such ordeals.
Quick outlook
v3.1 planned for December 5th, 2024
Order interceptor: A new feature that enables interception of the process when products are added, modified, or removed from the active order. This interception occurs in the business logic not in the data-access layer, opening up numerous new possibilities.
Signed URLs for assets: A new feature that enhances the security of asset preview URLs served to client applications, like storefronts.
Advanced cache management: A significant new feature that enables highly granular caching with various providers such as in-memory, database, Redis, and many others. This should introduce a new level of performance in Vendure applications.
Structured data in custom fields: Sometimes storing a string, relation, or boolean in custom fields isn't sufficient. Consider scenarios like ingredients in a recipe or nutritional information for food items.
Feature flags: Our implementation of feature flags with developer experience (DX) in mind—from CI/CD operations to multi-environment hosting (staging, dev, test, and production).
Read more about it here: Milestone v3.1
v3.2 targeted for early February
New Admin UI: One of our biggest and most ambitious projects for v3.x—a complete, backwards-compatible rebuild of our Admin UI. We'll migrate to TailwindCSS and significantly enhance React component support by providing Tailwind component libraries for both Angular and React.
Advanced Logging & OpenTelemetry: Enhances the observability of Vendure applications, particularly in enterprise-grade setups with distributed, horizontally scaled infrastructures.
GraphQL Subscriptions: We're introducing native support for GraphQL subscriptions, paving the way for real-time, WebSocket-like implementations. This feature will enable live updates for order statuses and real-time diagrams in the Admin UI.
Read more about it here: Milestone v3.2
Create your first commerce experience with Vendure in less than 2 minutes
Vendure is a registered trademark. Our trademark policy ensures that our brand and products are protected. Feel free to reach out if you have any questions about our trademarks.
Documentation
Newsletter
Get the latest product news and announcements delivered directly to your inbox.