DEV Community

Cover image for The Official Release of Apostrophe 3.0
Apostrophe
Apostrophe

Posted on

The Official Release of Apostrophe 3.0

Welcome to the world Apostrophe 3... we've been waiting for you.

It's a big day for Apostrophe! Today we are very pleased to share our 3.0 Stable release of ApostropheCMS with you. This release represents years of work from our core team as well as contributors around the world.

If you can't wait to dive right in, here are some links:

Otherwise, read on for a snapshot of what's new, what's next, and how to get involved.

What's new in Apostrophe 3

If you haven't been following along with our previous updates along the way, here's a quick summary of the biggest changes in A3.

New UI

100% RESTful Headless APIs

While Apostrophe 2 has custom APIs and a separate apostrophe-headless module, A3 is powered by RESTful APIs from the ground up. Whether you're building a traditional marketing website or single page application, Apostrophe 3 has you covered.

New Editing Experience

We've completely overhauled the design and UX with superior editor interactions. Powered by Vue.js, the new editing experience is much faster than in A2.

New Demo

New Rich Text Editor

A3 uses the tiptap rich text editor, a modern Vue-based editor. tiptap is powered by ProseMirror, a rich text editing framework embraced by many companies, notably including The New York Times. It's easier to customize and a pleasure to use.

Improved Module Architecture

A2 had a bit of a learning curve when it came to writing more complex project code. In A3, we have a clearer structure for modules. Each module has a clearly defined home for methods, event handlers, Nunjucks helpers, async components, query builders, and more.

All async/await, No Callbacks

Callback-driven code has been completely eliminated from the core of Apostrophe, and all of the JavaScript APIs return promises, so you can await them.

Async Components & Lazy Loading

A2 developers often asked why they couldn't fetch content from the database from inside a template. Now you can. The async component pattern delivers this feature without cluttering your templates with complex JavaScript. Load what you need, when you need it.

Unopinionated Front End

A2 shipped with jQuery, lodash, momentjs and more. Later, we added the lean option to remove these things. A3 takes this one step further: there are no front-end libraries at all sent to logged-out users, except for a very small vanilla JavaScript helper library for core tasks like communicating with Apostrophe and displaying our video widget. The new library is under 10K gzipped.

Take it for a spin

You can see everything in action by firing up our new demo site. Give it a try. You'll get your very own temporary demo sandbox to play around with to your heart’s content.

A3 CLI

If you're ready to dive into the technicals, our documentation has also been updated to cover A3, with everything from how to start a new project, all the way down to best practices for media usage and an advanced guide for using the new async components feature. Note that we'll be adding plenty more docs in the weeks to come, so this is a great area to send us feedback and get involved if you want to contribute to the project.

Now what?

There's way more than additional docs updates coming soon. Truthfully, this release is just the beginning of a whole lot more to come. Recently we posted about our plans about migrating extensions from A2 to A3. We've already released the first A3 extensions which you can find here. You can see a view of this along with other features that are coming soon at our roadmap portal.

Some things coming soon we're particularly excited about include:

Big picture, we see Apostrophe 3 as a foundation for years of continued growth and innovation, including the kinds of things still further out on the roadmap like visual schema editing. When it comes to these future releases, we want to hear about what features are most important to you. What will bring the most value to your projects and clients? Please share with us on our product portal.

Want to get involved?

As always, we invite you to contribute by getting started with the boilerplate, making bug reports, requesting features, and providing any feedback you want to share. We've always looked to our community of developers and users as an important source of insight, and that will never change. We welcome any and all comments and pull requests to the A3 source.

Other questions

What will the migration process look like from A2 > A3?

We're diligently working on content migration and code migration tools that will ease the process of upgrading. A3 is an evolution from A2 and we expect most users to have a relatively easy time migrating. In the meantime, A3 is a great choice for new projects.

If you are an Apostrophe Enterprise or Assembly customer, we'll be able to support you through that process when the time is right to make the whole migration as seamless as possible.

Do I have to upgrade?

Not at all. We'll be focusing new feature development on A3 after this release, but we'll continue to patch bugs and support existing A2 projects in our documentation and community channels for the remainder of our LTS commitment (through the end of 2023). We can provide additional support beyond that time with an Enterprise Support SLA (contact us to learn more).

When will I be able to migrate to Apostrophe 3?

Now is a great time to consider if your project is a good fit for A3. We will be upgrading our library of extensions and integrations to A3 over the rest of the year, so some projects may want to hold off a bit longer to get the benefit of these upgraded modules. As mentioned, we will release content and code migration tools soon.

thanksyoublack

Thank you

If you've ever tried the demo, fired up a sandbox project in your development environment, submitted a bug report or PR, said hi in our Discord server, reached out about partnership opportunities, or interacted with ApostropheCMS or our team in any way over the years - thank you. The energy from the development community and our ecosystem of partners is a huge part of what keeps propelling us forward into new territory.

We're so proud to have crossed this milestone, but what comes next is always the most exciting part. We can't wait to connect with you on the next leg of the journey.

This post was written by Apostrophe's leading conversation starter, CEO, and staunch board game advocate. We also call him Alex.

Top comments (2)

Collapse
 
foresthoffman profile image
Forest Hoffman

Very cool, Alex! I love the color combo in the terminal screenshot; however the bright white on teal background may be hard for folks with color blindness or visual impairment to see. If that's something you've already considered, please disregard. :D

Collapse
 
agilbert profile image
Alex Gilbert

Thanks for that feedback! Great point about the accessibility of that particular color combo. The actual output from the CLI tool if you run it in your terminal will have slightly different colors with better contrast. The screenshot above was tweaked a bit to match the colors from the background, but a good point that we should adjust the teal/white combo with that in mind.