How to tweak "subfilter" argument in the timeline macro?

I would like to hide tiddlers that tagged “hiding” from appear in the Recent Tab, but need them keep in normal search result or elsewhere.

digging bit find out, that maybe I can add some filter in “Recent Tab” tiddler, which actually is $:/core/macros/timeline, from this tiddler, there is a subfilter argument which is interesting:

\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")

I tried put [!tag[hiding]] as it’s value, then recent tab is broken, shows 2 lines:

Filter error: Missing [ in filter expression

how can I achieve this with subfilter?
or
how can I avoid to do this again when upgrading TW?

The subfilter parameter of the <<timeline>> macro is actually just a filter “fragment” that is inserted into the surrounding filter expression as described here:

https://tiddlywiki.com/#timeline%20Macro, which says:

Note the appearance of $subfilter$ in the above syntax. Thus, to insert the subfilter, you need to omit the outermost [ and ] in the parameter value, like this:

<<timeline subfilter:"!tag[hiding]">>

Thank you!

subfilter:"!tag[hiding]" works, appreciate your detailed explanation.

I hope subfilter in this form is retired! and real subfilter as new attribute is added.
These are the source of confusion for newbies. (@pmario)