Block size is still limited to 1MB. As I understood, transaction size is no longer limited. So can I be sure that my transaction with 29000 outputs and reliable fee will be included into block? Or what is the max transaction size?
Can I send almost 1MB transaction?
To be able to send a transaction that a miner will accept, that transaction has to be a standard transaction. As defined in
/** The maximum weight for transactions we're willing to relay/mine */ static const unsigned int MAX_STANDARD_TX_WEIGHT = 400000;
For non-Segwit transactions, the limit is
400,000 KB / 4 = 100,000 B = 100 kB.
Therefore, if you have a Pre-Segwit transaction larger than 100 kB but smaller than the block s̶i̶z̶e weight limit, you should contact a miner, and they'll be able to add your transaction to their block manually, if it's profitable for them.