In Jellyfish's original paper(Marcais et al, Bioinformatics 2011), it says that "counting kmers up to 31 bases in length". 

But on the other hand, in other papers such as KMC2 (Deorowicz et al, Bioinformatics 2015), Jellyfish2 is used to count kmer size = 55.

So does Jellyfish support k > 31 now? and How it is supported?(i.e. why in original version it is not supported but now it is supported)?

Thanks.
Probably because they originally used 64bits per kmer, which can store up to 32 bases in 2bit (less one for whatever reason, probably to signal reverse complementation or variable-lengths).

With an update, this man-made constraint was removed.