For attack/release I would suggest asking yourself what you are trying to accomplish. I did a great deal of work with companders, symmetrical compress/expand NR circuits. In these cases the compression needed to be reasonably fast attack and fast release, but also, slow enough to be easy to track for accurate and transparent playback. We can make a comp/limiter arbitrarily fast, but all we are doing is distorting the leading edge of the transient attack.
====
Using the THAT chipset the general approach to make variable attack/release is to terminate the RMS detector with a very small capacitor effectively establishing the fastest attack time, buffer that, and then apply variable up and down time constants after that buffer. I have also used a static hold time, for noise gate applications, but find the "ripple filter" approach (slow for small changes, fast for large changes) a lot nicer for compressor/limiters, and it's easier to design with analog circuitry. Using a digital side chain, infinite hold is certainly possible. IIRC I probably used a very slow time constant even with my hold designs, just to insure that during hold, it wouldn't drift away from where it should be, but toward the slow average of where it should be.
JR