And yet it pretty much has 80% of the value that Postman provided to me.
There is some missing polish (like missing utilities in scripts or buggy drag-and-drop) and a couple bigger things like no authorization schemes or code export, but the killer thing it has over pretty much all the competition is the JS glue code AND first-class VCS support. Even insomnia had garbage-tier glue code support, something that was very much missing coming from Postman.
Yup, the JS glue code is something that I am very proud of. You can install any npm package via package.json. Require them inside your scripts and it just works.
In every other tool, they treat a collection like something that can be modified only via GUI. In Bruno, its more of a developer mindset. Even if you don't have Bruno GUI, you can open it in an editor and make changes to it - just like code
External npm package installation is unique to Bruno and afaik no other tool has this.
Thanks! This looks great! I like the local first (or local only) approach of your tool. It's very refreshing in comparison to the bloated monsters like campfire or postman
yup! every postman alternative just follows postman playbook
starts as offline
vc funding
enables cloud sync for collaboration with teams
deprecates offline as scratchpad
deletes scratchpad
Its been like this for a decade now.
With Bruno the key insight was to store collections and requests as folders and files, and design a markup language that makes it easy to collaborate with your team. I wrote about this here: https://www.usebruno.com/blog/the-saas-dilemma
Sometimes, I wish that I am a billionaire, so that I could let people using my software for free, completely. And the key point is, they know that it is free, absolutely. Because I am a billionaire, they know.
So, just keep it up. Anything you wrote is not important than the thing you do. Don't let people sink you in their perspective about the world they saw.
Open-source software needs a ton of efforts, tears, bloods. Above of the passion, you know that it should be pay-off, fair-price at least, for you and your people hard-works.
At the end, plan is just a plan. Just go to have a chance to fix it.
Yes MIT license is a great plan b. But forking is hard and painful. Elastic/MongoDB/HashiCorp and many more OSS keep moving towards Business Source License to protect themselves from bigtech monetizing the original creators hard work.
What we need is a better approach. One that doesn't involve VC funding. One that keeps the all the incentives of the community, contributors and the creators aligned.
Will share a draft of this approach soon (likely tomorrow) and open it up for community discussion. I want Bruno to be there for the long term.
My only doubt is whether you need to design a special "language" to store the queries/configurations. Wouldn't it be easier to leverage existing languages, maybe something like dhall?
Yes, The language itself went through many iterations. You can look at these 3 iterations here: https://ibb.co/8j8yM1f
First was break a giant collection json and save it as individual files, second attempt was to convert into a dsl (was a bit like xml), the third attempt that is used today to make it even simpler.
The key driving force behind the language design was to make sure that it was simple and readable enough to be able to do a PR review flow in git.
Also, simple enough so that you can open the collection folder in a editor (like vscode) and still be able to make changes
Json didn't support multiline strings. Yaml was indentation hell. I wanted something neat, no need for quotes around strings. And lot of nuances, like how do you store a query param as disabled.
Never knew of Bruno, but it's just what everyone wants and needs! Tired of Postman and Insomnia bloat. Code-generation would be a great feature. Good job!
yes, its miniscule. one ping (and that too once in a day) that indicates that an anonymous user opened the app. No other usage details, micro interactions or anything else is tracked. Sure - in the future we will provide option to turn this off too.
> Could you quantify? I never saw a lightweight Electron app.
relatively, compared to the other electron monsters out there. You are definitely not going to native performance and fluidity, but it's a tradeoff that I made to support multiple os.
Also, currently Bruno is just me developing it for the last 2 years. Recently a community has formed around (nice to see) and we have a flurry of new contributors.
Users decide what is miniscule. Everyone collecting data without consent thinks they are justified. And fully offline means fully offline. It is hard to trust false claims and defensiveness.
I installed its just what I need! I used insomnia for quite a while because postman has become completely unusable bloated piece of crap and now it seems insomnia will do the same.
I am curious: why the request to support OpenAPI turned up only 2 weeks ago? In my bubble it is an ubiquitos format where everything starts and from where any additional data added up.
Probably not a question you like to hear - but right now if I decide to jump from offline postman or insomnia - which will be the biggest pain points that I am to expect?
Edit: And good luck, I have looked quite a bit for project like that.
Oauth2 flow is missing (which should be released by tomorrow), Otherwise you shouldn't encounter any pain points. The app has been in development over 2 years, and community (early adopters) has been using it for over year. It's fairly stable except the occasional blip.
I built the tool for myself, I wanted my collections to co-exist alongside my backend code and be able to version it via git.
So I ended up creating a human readable markup language to represent requests so that we can use git to version it.
I see the claim of saving everything on the filesystem and collaboration via git.
- Is there a way to handle secrets outside of this flow?
- Can we set/reference variables between collections? collection A sets a variable, collection B uses it.
also, a small bit of feedback from someone that briefly played with Bruno this morning.
- moving requests in a collection via drag/drop isn't obvious and it's actually a pain if you're trying to replace the top item.
- if I duplicate a request I want the new request highlighted and I would personally prefer if the same tab was opened
> collection A sets a variable, collection B uses it.
In bruno collection is the first class citizen, environments reside inside a collection. There is plan to support global environments for the use case you mentioned.
> moving requests in a collection via drag/drop isn't obvious and it's actually a pain if you're trying to replace the top item.
yes, this ux needs to be improved and there is a bug in drag and drop which should be fixed.
I'm guessing your recommendation for dealing with separate environments (dev/qa/etc) would then be a single collection with folders underneath and environments defined w/i that collection.
In that sense collections for bruno seem to be more akin to "projects" and are not really equivalent to postman collections in that sense.
That's workable, it good to know the environments are collection specific rather than global.
if you rename a collection with existing requests in it, the result will be two collections, 1 with the new name and 1 with the old name. The new name will have all the requests as expected.
The old name will be a "ghost" collection, you can't seem to do anything with it, including rename it again. If you close bruno and re-open, the old named collection will be gone.
Awesome! I've spend 30 minutes searching for an alternative, but it's all crap. This looks really good! Simple light weight, we basically just need a simple gui over curl.. Thank you for this
May I ask why .bru? I would really recommend using a standard format. https://xkcd.com/927/ etc..
This is the first I’ve ever heard of Insomnia. Here’s missing context that a blog post about this could have included, to save everyone paging through yet another GitHub issue FP.
The business that ships this codebase is migrating all instances from cloud-optional to cloud-required:
> The challenge is that we cannot continue to offer a great product with all these capabilities while working on an abstraction layer that supports two different storage backends for all data in Insomnia, adds too much complexity to the whole product.
Existing non-cloud users who wish to continue operating without the cloud will need to downgrade to 2023.5.8 to continue accessing their data:
Even worse, before you could use it without an account. Now it locks you out of your data after the update. You need to create an account to get back your data.
They already noted that in a well-read comment at the top of the post already, and continuing to be outraged at them in this thread is more likely to convince them to disregard your viewpoint than it is to change their mind.
Literally just ruined my day. Needed to run one quick query that I had saved and opened insomnia to that stupid login screen and empty scratch pad. Even for folks who had automatic updates on, this should have come with some kind of warning. So poorly handled. Boo.
This sucks beyond belief. The whole reason I moved to Insomnia from Postman was because Postman uploaded all of our APIs and credentials to their server without asking. I have clients that demand privacy - we can't even discuss the existence of their APIs outside the company.
Do you have any details on the equivalent Postman change? How long ago did Postman force users to create an account? I found this github issue, but I'm not sure if it's what everyone keeps referencing.
Another app that's trying to do too much. All I want is a basic GUI for curl with some organization and templating. I ditched Postman because they decided to go all enterprise subscription model on us, apparently I'll have to ditch Insomnia too. What a shame.
Yeah, postman isn't something I'm operating in all day like vscode or my terminal. It's something I open ocasionally when I need to test a few endpoints and iterate on them.
My company would happily pay for licenses. Not after this shit was pulled, though. They even went so far to remove the Kong enterprise api management products from our internal order system. It's not so great to work with a company that pulls the rug underneath you without warning.
I also think these features have a place. I'm quite sad that Kong completely destroyed all trust our company had in them.
Agree. I have no qualms paying for open source software if I think the owners treats their users well. I pay for Joplin Cloud but so far they haven't hidden all my data behind a forced signup screen (unless I jump through some export hoops just to end up in a worse user experience)
This is very disappointing after migrating to Insomnia from Postman a couple of months ago. I did the migration even when my company provides Postman licenses for the employees because I don't need nor want the "collaboration" features, cloud sync (I have my backups covered, thanks) nor the telemetry.
Can anyone recommend an open source API client that is content being just an API client?
Thanks. From playing around with many of the suggestions in this thread, this seems like the best option. It is lightweight and easy to use. Exactly why I was using Insomnia in the first place.
+1 for restfox. moved from insomnia a few weeks ago. the UI could do with some polish but it's great other than that. plus it even has tabs, and can run in only a browser
Our team has just started to use this a bit more and I really liked the .insomnia dir in our projects. This is pretty sad as we've seen this path with Postman - I ~~thought~~ hoped that since Kong had plenty of other viable revenue streams that Insomnia would stay out of this nonsense. Disappointing.
I thought about posting this half an hour ago but instead chose violence on their GitHub. Time to look into alternatives. I still can't comprehend this move. Seems Postman did well after they pulled this stunt so Kong does it as well.
Thoughtworks Technology Radar has Insomnia as a "Trial" in the issue that came out today because of Postman pushing for more things to live on their servers.
While not quite the same, still feels like awkward timing.
I just don't have the energy to find a new client and build up my collection again... How do I know that a random product won't sabotage my future use at some point in time? Do I really have to build everything myself to be safe?
No, you got what's you write. If you want, you can see the run curl's command, save it in a script and replay it without Hurl. You can check the source code here [1]
That's amazingly terrible, I get the business case but this is the sort of thing you don't roll out in an automatic update....and you talk to your customers and stakeholders about first. Just wow.
Curious to know what advantages Insomnia has/had over Postman beyond being MIT licensed.
Postman's initial startup time could be a bit faster but other than this I'm not missing much (yet). I used it for years occasionally before finally creating an account not so long to sync my requests across devices.
BTW: Jetbrains IDEs like WebStorm also have an integrated HTTP client.
Marco here, CTO at Kong (the parent company of Insomnia). You will see some of my replies in the GitHub issue where this conversation is taking place.
I want to clarify a couple of things:
1) Insomnia can still be used locally in any version prior to this one. The data is there, and can be used.
2) Insomnia still has a local-only mode (Scratch Pad) that doesn't require any account, that anybody can use. A collection can be imported into Scratch Pad for API debugging purposes.
3) There is an onboarding step that clearly states what's going to happen and that allows the user to export the data. We also don't migrate any data until an account is created.
4) Data is not migrated in the cloud when collaborating with Git Sync, which is a capability that allows us to use Git as the source of truth. It is also not migrated without creating an account.
5) When migrating to the cloud, data is fully end-to-end encrypted (E2EE). That is the case for free accounts as well, not only premium plans.
6) Any organization that is serious about security can get in touch with Kong to pass the security compliance assessment and use the cloud like they most likely do with any other vendor.
7) We will even further improve clarity with a new minor version (8.1) that makes all of the above more clear (how to export/import etc).
What's not seen in that conversation, is the large number of users that wanted a product that allowed them to collaborate better, without losing their data, and sync that data securely across multiple clients. Which is why we tried to strike a balance between convenience and feature-richness (cloud) but still provide a local option for other users (Scratch Pad).
I can assure you that we didn't wake up one day and choose violence :) Ultimately, I am also perfectly aware that we can't make everybody happy.
1) Receive popup asking if I want to install the latest version (no warning of the consequences of doing so) which I accept
2) Be greeted by a 'sign in' screen as well as a new Scratchpad icon which doesn't contain any of my projects/collections/requests.. at this point I believe all my data has been wiped (and it probably would've been if I had uninstalled the app when I downgraded instead of overwriting the existing one)
It's a shame because I have promoted your product to over a hundred classmates/coworkers/friends that were previously using Postman/HTTPie/curl.. even if you didn't financially benefit from my use then it also didn't cost you anything, and I provided a lot of free conversions (some of whom might be using your cloud solutions, no idea)..
At least version 2023.5.8 is almost perfect so I'll probably be happy with using that for decades if no better alternative appear.. only downside is that the generated code snippets are kinda shitty (especially for golang, and some obvious languages missing) and I guess I won't be benefiting from improvements made there.
--
A couple of ideas I would personally pay for with the local version of Insomnia:
- Create my own code snippets (so I don't need to rewrite code generated from your Generate Client Code).
- Ability to create HTTP Request templates so you don't need to duplicate existing ones (which you can't do across collections as well).
Have more but I guess it would be a waste of time since you seem fully committed to your choice of violence ^_^
Tomorrow we will ship a new version (8.1) with a better understanding around how to export data and how to use Scratch Pad because I agree we can improve clarity.
But if you only have one collection, Scratch Pad is still local only. So you can keep using Insomnia on Scratch Pad, still get product updates and it’s free.
> So you can keep using Insomnia on Scratch Pad, still get product updates and it’s free.
Sure, if I want to stare at a large purple 'Create an account' banner all day, and some three other locations in the UI in which I can click some variety of 'create an account'.
Bro, why is the migrate step behind a signup? How is that not hostile to users? I will make sure my company never buys anything Kong. You have to know you are selling to devs.
The export is before the signup. Nothing gets migrated without a signup.
But not making it easier to understand what was happening was an oversight, and we will make it more clear in v8.1 (as soon as this week). So 8.0 will be a 2-day release in this regard.
You can also download any previous version of Insomnia and export from there. Without an account, the data never leaves your computer either way.
This is a whole bunch of corporate bullshit for "everybody just migrated to our platform from Postman, and now we're proudly making the same mistakes that made everybody leave Postman"
I wasn't happy with the existing tools a whole ago, so I made my own called APITeam. It's similar to postman or insomnia but supports load testing out of the box
It was a month or so that I heared of Insomnia, when we were looking for easier alternatives to Postman, which is much further down the VC-funded, "gotta monetise those users" trajectory.
This makes it relatively easy to chain calls if necessary - call one api to get a authn token and then call another with the token you just got. I think that postman and insomnia can do that, but it's a breeze from the command line.
If you're looking for a tool with a nice UI, Hurl might not be the ideal choice. We're focusing our tool on CLI usage and CI/CD integration.
On the other side, Hurl is a pure Open Source tool, we're not VC backed. The tool is given to the community by a big French telco, Orange, which use it and has no intention to be in the software business. In a word, there is less chance for Hurl to fell into Postman or Insomnia fate...
Unfortunately I think they’re doing similar things with this extension. Last I checked, they locked some functionality behind a paywall that was formerly free and now they have several weird tiers of pricing with revenue limits and other bullshit.
It almost works on Linux with Wine. The text fields are messed up though.
However, I do not know why you would use this considering the alternatives available. It is closed source, no GraphQL support, and has cloud "features". The only pro for me is low RAM use.
According to the discussion and brief browsing of code changes I don't see any intention or proof it's for promoting the cloud solution. The title is not justified. The report was made 13h ago after beta versions released. There's no response yet.
The 'UI' (which is really an editor/syntax highlighting for the .http files) version I believe is a paid feature on the IDEs, but the CLI one I believe you don't need to pay to use it.
Can someone please explain what the core issue is here? The Github issue says "needing an account" but the Kong CEO says below that
"2) Insomnia still has a local-only mode (Scratch Pad) that doesn't require any account, that anybody can use. A collection can be imported into Scratch Pad for API debugging purposes."
So, if I don't need or want any sharing and keep my collections in the file system, can I still use it without ever creating an account or not?
My understanding is that Postman unfortunately pulled the same thing lately, so that's unfortunately a no-go for you.
I've previously had good experiences with Paw (now RapidAPI) - https://paw.cloud/, but given that they are closed source and have started giving away the software rather than charging for it, I'm not filled with optimism they won't do a similar rug pull.
I’ve actually tried Paw but I found it tricky because it doesn’t have a quick fuzzy search for existing API requests, which is something I use a lot in Insomnia.
AFAIK, there has been no official response so for all we know, this could be a bug, not intended behavior?
Seems it has (accidentally) at least happen once before (https://github.com/Kong/insomnia/issues/5559) so probably worth switching to a different client regardless if this time was on purpose or not.
If you are using vim, you could try this one https://github.com/aquach/vim-http-client. I have been using it for some time and it has worked well. Use in your local file system, integrates well with vim but I had to fork it since it didn't had a timeout setting.
So we are once again in the - please give alternatives. No clouds, no syncs, no other bullsit ... Postman is dead, insomnia seemed like good alternative.
REST Client extension in VSCode. Just a file that makes requests and lives in your repo. No totally unnecessary SaaS business with per user licensing fees.
* good old tools - curl, Emacs plugins (restclient.el is pretty nice), Vim plugins;
* and Postman/Insomnia alternatives - restfox.dev, hoppscotch.io and httpie.io (my personal preference so far) and I found this group to be the most volatile (I personally has moved from Postman to Insomnia).
A while ago I built https://github.com/mfinelli/cui because I wanted something like postman that ran in my terminal. It's a little rough around the edges but it does the job for me
* Insomnia can be used locally-only with Scratch Pad.
* Insomnia can be used with an account without sharing any data using Git Sync (the data is in your Git repository, wherever that is hosted).
* Insomnia can be used with an account and without Git Sync in a fully end-to-end encrypted way (E2EE). Nobody can read your data.
* Insomnia stores your account information in Auth0, which is ISO27001, SOC 2 Type II, ISO27018, HIPAA BAA, Gold CSA STAR, PCI and GDPR compliant.
* The data is not automatically migrated anywhere unless an account is created, as clearly explained in the onboarding that users have to approve in order to get access to the product.
* Insomnia can be used for Free with an account.
Unlike Postman, we are fully E2EE on every plan, local Scratch Pad is still there, Git is always an option when having an account.
On top of this, we have shipped today 100s of features for real time collaboration, unlimited collaborators in the Free plan when working on one project, organizations, RBAC, EE SSO, multi-client support for everyone, and so on [1]
Calling valuable user feedback noise is not the wisest decision. But luckily for you I will be quiet after this. My team and I will be moving off of insomnia. That should quiet things.
“So. Much. Noise.“ This comes across as very dismissive of your user’s concerns. Maybe worth giving your ego a break for a few hours and embracing empathy for your users.
It's not about ego, it's about clarity and overall sustainability of the product.
Reality is that Insomnia offers plenty of ways to still run locally, but now it does it in a sustainable way that allows us to improve the product even more.
I forgot to add that users can also create "Private Environments" which are always local and never synchronized with Insomnia Sync (in the cloud) or Git Sync.
This was a very unwelcome surprise this morning when I sat down to work.
For what it's worth, I first switched to Insomnia from Postman, years ago, when they pulled a similar stunt.
Rest assured, although I created an account earlier (to gain access to my collections which simply seemed to disappear overnight), I'll be switching away from your product, so don't count that account creation as a win in your metrics. Not impressed with how this has been handled at all. It seems there are very few trustworthy companies in tech anymore.
- Free and Opensource IDE for exploring and testing APIs
- It is lightweight with MIT license
- Bruno stores your collections directly in a folder on your filesystem
- Use git for collaboration
- No cloud sync. Fully offline.
PS: I am the creator of this project