The Package Team

Package Team Update | December 2020

A new team member, 2 package-team packages and then some!

Written by Jesper Mayntzhusen

Lots have happened since our latest update in August. For one - we’ve met up as a team (virtually) and a lot of great things came out of this meetup - including an idea for a new package for package developers! Speaking of packages, we’ve also decided to officially release UmbPack 🚀  Let’s unpack all the news:

First off - welcome David! 

In September we opened up for new applications to the community teams, including the Package Team.

We are super happy to include David Brendel as a new team member! 


David participated in our recent Community Team Days (more on those below), and has already submitted his first couple of PRs for the Package Templates project!

You can read more about the new community team members in the dedicated blog post.

Package workshops

During Hacktoberfest, the package team held a couple of package workshops that showed you how to create a package from scratch, get it listed on Our.umbraco and set up a good workflow for maintaining it using CI/CD on Github.

If you missed it, and it sounds interesting to you, then we’ve released the workshop as a documentation tutorial as well. 

If you would like to host your own workshop with this material then we have the slides and the workbook available online: 

Community team days

For the last 2 years, we’ve invited all community teams to Umbraco HQ in November for a couple of days, to sync up, collaborate, plan and also celebrate all the hard work they are doing. This year for obvious reasons we couldn’t do that, so we did it online instead.

For the package team, it was a great opportunity to sync up and sort out our priorities. Lots were accomplished during the 2 days, we reviewed and updated our mission statement and goals, released UmbPack v1.0.0, synced up with the other teams, and had a great session with the Unicore team about packages in the upcoming Netcore release.

The Package Team

Team photo!

We also wanted to do some hacking, so we decided to try our hands at developing a package! 

We’ve had lots of feedback from people who would love some better information on backoffice elements they can use in their own packages, so we got to work on creating a package that adds a nice overview of these elements. Once we have a clear structure and contribution guidelines in place we will share more info on getting involved, but for now, I will leave you with a sneak peek of the first part - the umb-button:

Umb Button

The great part about releasing this as a package is that people will be able to read the code and parts required directly in their solution. We can include code snippets, link to the API docs for each element and most importantly since it exists within the backoffice, we can actually render it as an example.

We are quite excited about this package and hope it will be useful! If you have any thoughts, ideas or questions feel free to reach out to us either on or our Twitter account.

If you want a summary of what we and the other 4 community teams got up to during our virtual community team days, you can find the recap blog post here.

UmbPack is out 🚀 

One thing we decíded during the community team days, was that UmbPack should no longer be in a prerelease state. It has had several improvements and has been used by lots of package authors at this point. So we are happy to announce that the first “official” release of UmbPack is now out!

The latest version of UmbPack as of this post is 1.0.1, and contains several small bug fixes, metadata improvements (Thanks to Richard Ockerby, Ronald Barendse & Callum Whyte) and 2 new features:

Name templating

Name templating is the first new feature. If you’ve used UmbPack before you will know that the name of the package created with the “pack” command is generated based on the package name and version. It would follow this structure:

Command: umbpak pack ./package.xml

Name: MyPackage

Version: 1.1.1

Output name:

With the new name templating you will have more control by using a {name} and {version placeholder}, so you can fx do the following:

Command: umbpak pack ./package.xml -n {name}.hello.{version}.zip

Name: MyPackage

Version: 1.1.1

Output name:

This will give you much more control of naming of your packages, great addition by Kevin Jump!

Replaceable properties

The other great addition is adding replaceable properties. This feature allows you to replace values in your package.xml. An example is:

Command:umbpack pack .\package.xml -p Name=ThisIsANewName;Version=1.1.1

This would overwrite those values in the package.xml, and would be done before packing it up and naming the zip based on those values. Thanks a lot to Matt Brailsford for this addition!

Keep tabs on us 

In the spirit of openness and transparency (and making it easier for ourselves 😁) we have decided in the Package team to release our meeting notes for our biweekly meetings on Github; so if you feel like these blog posts aren’t enough, you can check our notes on our repo.

That’s all for now!

And remember to sign up for the Packages newsletter!

If you have something you think should be highlighted in the coming package newsletter - please reach out to me on!

Loved by developers, used by thousands around the world!

One of the biggest benefits of using Umbraco is that we have the friendliest Open Source community on this planet. A community that's incredibly pro-active, extremely talented and helpful.

If you get an idea for something you would like to build in Umbraco, chances are that someone has already built it. And if you have a question, are looking for documentation or need friendly advice, go ahead and ask the Umbraco community on Our.

Want to be updated on everything Umbraco?

Sign up for the Umbraco newsletter and get the latest news and special offers sent directly to your inbox