Actually, you did set a fee. The lowest possible one (1 sat/B). You can check that on a block explorer (e.g.
blockchain.com).
But since the mempool is quite empty right now it still got confirmed
relatively fast.
The next time you may visit
https://jochen-hoenicke.de/queue/#1,8h to check the current fees of transactions in the mempool.
You can't relay transactions with 0 fee. Usually your client won't let you. And if your client lets you, the network won't rely it.
So 1 sat/B is the minimum fee (which is perfectly fine at the moment if you aren't in a hurry).