Taking the Ecosystem Forward: An Update on the Future of Connect

To our developer community:

Today we published a blog titled Taking the Ecosystem Forward: An Update on the Future of Connect, which shares an early look at plans to phase out support for Connect. This early announcement is intended for owners of business critical Connect apps, including partners and customers with custom apps, to provide ample time to explore requirements and arrive at a fair timeline for end of support, together.

The blog post details the key stages of our plan, as we progress on this journey. By the final stage, Connect will enter an end of support state (defined in the blog post), where apps can continue to utilise Connect modules, but do so at their own risk. At this stage, we do not have definitive dates for each of these phases - determining a fair and appropriate end of support date will be a joint effort with our partners and other app builders. The purpose of today’s announcement is to start that conversation.

We’re seeking your feedback to help us shape the next steps for Connect - you can provide your feedback via the survey linked in the blog post.

I appreciate that this blog post and news may be disruptive to some partners who have built their apps on Connect. We are seeking to consult and work with you, the partner community, throughout this process to ensure we proceed in a manner which is proper and fair.

7 Likes

Thanks @SeanBourke

However it seems the blog post is at hello.atlassian.net, which seems not accessible to partners?

1 Like

Apologies @marc, I’ve updated the link now.

1 Like

Hi @SeanBourke ,

Thanks for the announcement. What immediately catches my is:

Each phase will have an applicable (6 – 12 month) deprecation notice period from its formal announcement

This seems really, really, really short for migrations of business critical apps. Especially because a migration to Forge often forces a change of access permissions and requires manual admin approval. This is up to now an unsolved problem.

5 Likes

Hey @marc,

Thanks for the feedback - please ensure you respond via the linked survey (at the bottom of the blog) so that we can capture your requirements.

We note in the blog post that we will “Work with partners and app builders to collect feedback, and use this information to shape the official end of support timeline. We will commit to coming back with an official timeline in early 2025.”

We will be utilise the feedback from partners to help shape the official timeline, as well as the prerequisites which need to be available on Forge to support each phase. While each phase will still have a formal 6-12 month deprecation window, the timeline will be published in advance, which should provide prior notice for later phases.

4 Likes

Question: the blog post notes in the section titled “Step one: Adopting the Forge manifest “ that

Converting to the Forge manifest is a step most partners can take today to ensure apps are ready for the future, and there is no impact on the Connect app’s current installations.

Am I correct in believing that adopting Forge manifest means that your app will now be rendered in the (more restrictive) Forge iframe, rather than the existing Connect iframe?

As we’re compiling our feedback, I want to make sure that the issues we think are blockers are indeed such.

For us, one the main blockers that we immediately hit when looking at moving to Forge is that the Forge iframe sandbox attribute does not include allow-popups, which impacts the ability for links in user-supplied content inside a Confluence macro from opening new browser tabs (e.g. <a href="…" target="_blank">). We are aware of @forge/bridge router.open(url), but that assumes you know ahead of time what links need to bypass the sandbox restrictions.

The Connect iframe does not have this restriction on links opening new browser tabs.

So if we adopt Forge manifest, does this change the iframe that the app is rendered in?

3 Likes

Any modules defined within the connectModules section of a Forge manifest is still rendered via the Connect mechanisms. CSPs are applied to Forge Custom UI / UI Kit rendering, which is utilised for Forge modules.

We are tracking this under FRGE-561, I’d recommend voting for this issue and ensuring you flag it in your response so we can ensure it’s considered.

3 Likes

I just want to quickly add that you can try the adoption of the Forge manifest in development and it will not affect your public marketplace listing. This was deliberate on our part because we want you to be able to try the adoption of a Forge manifest before you make that change to your public app listing.

This is what you should do to try the manifest adoption out and confirm that pop-ups still work for your Connect modules: How to adopt Forge from Connect

Then, when you are ready to go live, you replace your Marketplace listing by following this guide: Listing your Forge successor app on Marketplace

This way, you can confirm for yourself that everything is in working order before there is any customer impact. I hope this helps.

3 Likes

Ya’ll love digging holes for vendors to fill in hey.

The best developer platforms out there are those that are stable so that developers can focus on building useful apps that serve customer needs.

I’d hazard an educated guess that the majority of vendor’s time on this platform is now spent dealing with Atlassian breaking things and forcing migrations.

24 Likes

Hi @SeanBourke ,

One big question for us has been: What is Atlassian committing to do with Forge? There are so many open issues/ideas which might/might not be implemented that we consider waiting is the best approach. Why waist so much engineering effort to migrate to Forge and re-architect our app when the missing features might be implemented by Atlassian.
For example:

7 Likes

Particularly for Connect to Forge equivalence, your feedback in the survey helps us shape an understanding of what’s necessary for your apps and supports us in planning prerequisites for each of the shared phases. We’ve made significant headway in delivering use case equivalence on Forge in the recent quarter and you’ll continue to see more of that as we move into 2025.

I’m conscious that you’ve noted containers in your response. While hosting compute and storage on Atlassian is a requirement for Runs on Atlassian, Forge Remote provides another viable pathway to integrating Forge with existing external services. We’ve even extended Atlassian Connect Express and Atlassian Connect Spring Boot to natively support Forge Remote requests.

1 Like

this is also one of my biggest issues in all of this. No matter how good or bad Forge is or how much better it is than Connect. Here is a small list of items that vendors had to deal with just in the last few years:

  • End of Server
  • Data Center Approval Program
  • Implementing CMA (Many vendors have not done so to this day)
  • Data Residency
  • Cloud Security + Cloud Fortified
  • Platform 7 Upgrade
  • Confluence REST migration

The list goes on. All of these things have a (sometimes massive) price tag attached to them and most of them are not user facing.

The cost of doing business on the Atlassian platform is very high compared to other platforms

17 Likes

And at the same time when vendors are buried under endless avalanche of breaking changes and new requirements, Atlassian is also natively implementing functionality, which was historically offloaded to apps (e.g. checklist, calendar, etc in case of Jira).

5 Likes

“disruptive” is an understatement.

It’s frustrating to see that Forge is being “pushed” on app developers by Atlassian rather than developers being “pulled” by all the great features Forge has to offer according to the various Atlassian blogposts?

From our perspective, Connect is still superior to Forge. We only had a single incident with Connect in 2024 with 14 Connect apps and 20k+ installs, yet we constantly notice Forge problems or even incidents with our own Forge apps or reported in the developer community, not to mention the various Forge changes and deprecations on top of the other deprecations we have to deal with on the Atlassian platform. We don’t have customers ask for Forge or Forge’s advantages like “Runs on Atlassian” yet. Customers do care about reliability and stability, which is where Connect still shines.

Forge is still a beta platform that is not feature complete, and IMHO it doesn’t make sense to talk about sunsetting Connect until Forge has matured into a stable platform, comparable with Connect, without Preview/EAP/Deprecation notices spread across the documentation.

21 Likes

Atlassian has been using a combination of various carrots and sticks to persuade vendors to move to Forge. I will summarize my comments here as “too much stick, not enough carrot”.

The way that Atlassian is approaching this transition, from a vendor point of view, is fundamentally wrong. What is particularly missing is Atlassian’s prior due diligence to draw a map of exactly how vendors can transition from Connect to Forge, for all of the capabilities that Connect provides, to show that there is or will be parity. Atlassian is now asking vendors to describe all the gaps, but I argue that this should start as Atlassian’s responsibility. You do the work first, then vendors will happily look at your comprehensive document and tell you if you have forgotten some nuance.

Connect has a significant surface area. Where is your upfront public document with a map that describes the transition path to Forge, for every single Connect module, for every web-item, for every context parameter, for each Connect JS API, for each webhook, for data residency, for migration, for anonymous users, installations, upgrades, permissions, admin approvals, lifecycle, and absolutely everything else? For Connect features that are not currently possible to implement on Forge, we need a link to the implementation tickets (if any) and expected delivery dates. And if you are going to remove a Connect feature completely, we also need to know that upfront. You are the ones making the decision to remove Connect, so why are you asking vendors to do this work for you?

Do the work, publish the document, then create a mechanism for vendors to submit changes to add to what is there, to fill in on nuance or add use cases you may have inadvertently missed. This needs to get fed into the same document. Saying that you do not need a document because you have a heap of existing FRGE tickets is not helpful, because a pile of tickets does not provide a comprehensive 30,000-foot view of the platform, and it is not organized in a hierarchy or in a way that any outsider can understand. This should be in one single, living document that allows all stakeholders to easily assess the state of the platform. (Or make it a hierarchy of Confluence pages or whatever it is that makes sense, but the point is that it needs to be comprehensive and in one top-down place.)

As a Marketplace vendor, we need to see this to determine if we can move our product to Forge. If the platform is not ready, vendors should not be forced to waste time on a partial migration only to have to stop halfway through after finding out that a critical feature is still missing.

And if you do not have such a document, how can you conceivably say in good faith that you are going to force vendors to transition from Connect to Forge, when you yourselves do not even know the state of parity of the Forge platform? If Forge is truly a better platform and customers are asking for it, vendors will migrate organically. I do not believe the claims that Forge has “dramatically increased developer velocity” have played out in real life.

We have gone down this path recently with the Confluence Cloud V.2 API transition. It was the same story: a forced transition, no public mapping of APIs, relying on vendors to create CDAC posts (and later, to create ECOHELP tickets) to describe the large swath of things that the Atlassian team forgot to implement, and transition deadlines that have been pushed off too many times to count. (And it is still not even at parity.) If a thorough mapping had been done upfront and a mapping document published, it seems like the majority of these problems would have been alleviated. Can we please try to do better here?

Let me add that asking vendors to fill in a private survey, rather than describing issues publicly, collectively wastes a huge amount of time. If vendor A has already described a problem that I also have, I should be able to “+1” it rather than spending 30 minutes writing the same thing again. The other vendor may also have a problem that I did not even realize that I had, until I see what they have written, so public knowledge is even more helpful.

Can you think if there might be a better way to coordinate this feedback? Ideally, as I mentioned above, Atlassian would go create that mapping document and come back in a month or two to solicit real comments on what is missing.

I also do wonder exactly how interested Atlassian is in gathering this feedback in the first place, given that the CTA for the survey is buried in a two-word text-only link, literally at the very bottom of a 10-page blog post. Perhaps this was inadvertent, but you can surely do better.

28 Likes

We submitted our feedback using the link in the blog post, but we just discovered another potential blocker (relating to Forge resolver functions seemingly not working when type: "module" is specified in the main package.json file - see footnote below).

To @scott.dudley 's point about a private survey being a particularly bad way to gather this sort of feedback, what should we do if we wish to amend/append more feedback to our earlier submission? Submit another survey response?

Footnote:

We’re aware of the closed issue FRGE-1298, but this seems to still be a problem.
When type: "module" is specified, our resolver function errors with

There was an error invoking the function - forge_resolver__WEBPACK_IMPORTED_MODULE_0_ is not a constructor

When the type is removed (which defaults the project to CJS), the error no longer occurs.

Come on guys, it’s 2025. ESM is no longer new/experimental. Forge should not break in the face of ESM-based projects.

3 Likes

Like @BenRomberg we have also never had any issues operating our Connect apps, nor have we had any customer request with regard to support for Forge or “Runs on Atlassian”.

Obviously, this is somewhat biased, as customers that have a no data egress policy will not buy our apps. BUT, and this is a big BUT: for us, that is a very limited group. And I think this is a point that is important for Atlassian to understand.

There are hundreds of thousands of Atlassian customers that do not have a no data egress policy. There is a huge market potential for Atlassian partners running their business on the Connect framework.

Asking these partners to migrate to an inferior platform, which will almost certainly require them to use Forge Remote and thus negating the no data egress proposition of Forge, just because Atlassian wants to sway 10s of Enterprise customers (who will still not be able to use our apps) seems (forgive my French) batshit crazy.

Because we will be using Forge Remote. The limitations of Forge are just unworkable.

For instance, Forge Cache has a limitation of 3600 seconds TTL and a per-entry value of 240 KiB. To ensure optimal performance, our Figma apps run a 75GB Redis instance with a 24h TTL with unlimited value. We store base64 encoded image data in cache, with some entries going up to 100MB+. This allows us to serve Figma designs in milliseconds instead of minutes.

Then there is the question about costs. Our Version & Component Sync app runs millions of invocations per day and we pay ~$300 dollar per month. I really don’t think Forge can compete with these numbers, both in terms of limitations and cost.

In the end, the only result of this push to Forge is that we will spent time migrating that we otherwise could have spent on new features without ever being able to achieve Atlassian goal of supporting companies with no data egress policies because we will still run everything on our own servers.

What’s the point?

16 Likes

I would like to join those voicing concerns about unexpected blockers. However, I would also like to propose a solution to address this issue. How about adopting an approach that Atlassian has already implemented successfully - the Atlassian Performance Tools support team?

I propose that Atlassian replicate this model of dedicated support by creating a team of Forge experts. This team could be made available via Slack or a similar platform, providing vendors with a reliable resource for assistance. Additionally, it would give Atlassian direct insight into Forge’s readiness through the firsthand experiences of their own employees.

7 Likes

We genuinely appreciate that you’ve taken the time to share your concerns, particularly those of you who have already filled out the survey. I can’t stress enough how important this is for calibrating timelines and ensuring we have a fully complete picture of partner needs.

The decision to phase out support for Connect is not one taken lightly, and Atlassian has been preparing for this transition for some time through multiple initiatives, including gap analysis and investing in platform reliability. I want to address a few of the concerns shared.

Cataloguing migration blockers
We use an internal tool called Habitat that provides a detailed view of Forge parity compared to Connect, based on telemetry data as well as FRGE tickets, which serves as the detailed document Scott Dudley proposed. We’ve published a Connect Equivalence roadmap to help partners understand what we are already working on, and this roadmap will grow as we incorporate feedback from this phase and more tightly define pre-requisites for subsequent phases. As we continue to add to the Connect Equivalence roadmap, here is a list of resources on Forge versus Connect capabilities.

A key point to underline is that we are not starting from square one. We have tooling and data to measure parity gaps, but we can’t rely on this data alone - we need partners to use the survey to highlight any gaps or edge cases that may have been previously unknown, as well as other conditions - business needs, resourcing - that will impact timelines.

Keeping up with platform changes
This is a concern we empathize with. Atlassian’s business and platform have undergone huge shifts in the last decade plus. We’ve had to mature our business and stance on enterprise needs like security, transparency while becoming a cloud-first company and adding new products and capabilities valued by our customers, such as AI. We know this has an impact on partners, who also must keep up with constant changes. Our commitment to partners is that when changes are unavoidable, we will work with you to determine fair timelines and a process for getting there.

Preserving existing investments
We understand the importance of flexibility in the platform, which is why we’re committed to Forge remote . This allows you to retain full control over your non-Atlassian hosted services while giving you the freedom to evolve your journey to Forge at your own pace, based on your customer demand and priorities

Moving forward
We ask that partners try the migration process and allow us to help. We’ve seen over 100 successful production migrations so far, and about 20% of those have over 1,000 installs. Every partner who tests the migration path with their app and provides feedback helps ensure we can provide a successful transition for our entire ecosystem.

Thanks,
Adarsh

2 Likes

So 20 apps with > 1000 installs? That’s underwhelming, even if it would be migrations to pure Forge (what you’re asking for here), or is it to Connect on Forge only?

If our data is correct, only 42 of Marketplace apps with > 1000 installs are on Forge today, with 363 apps total, which is a share of 11.5%. So 88.5% of big cloud apps are still on Connect, and you’re announcing to end Connect support now where Forge isn’t even close to be mature enough for the remaining 88.5% Connect apps?

9 Likes