@@ -398,12 +398,28 @@ Arguments description:
398398 </screen >
399399 </para >
400400 <para >
401- Accepted values are <code >LEGACY</code > and <code >CURRENT</code > (the default),
402- case-insensitive; any other value throws an
403- <code >IllegalArgumentException</code >. The setting is independent of
404- <code >opennlp.whitespace.mode</code >, applies process-wide, so training and
405- decoding of a given model must use the same value, and is scheduled for
406- removal in 4.0.
401+ Accepted values are <code >LEGACY</code > and <code >CURRENT</code >,
402+ case-insensitive. An unset or blank property selects <code >CURRENT</code >;
403+ invalid values fail mode initialization. Set the property before OpenNLP
404+ initializes the mode, and use the same setting for training and inference.
405+ Legacy support is scheduled for removal in 4.0; selecting it logs a warning
406+ once per process.
407+ </para >
408+ <para >
409+ This setting affects only classes that explicitly consult
410+ <code >CompatibilityMode</code >. It does not restore every behavior of an
411+ earlier release: parser bracket spacing, corpus validation, and stream
412+ resource fixes are not switched back. It is independent of
413+ <code >opennlp.whitespace.mode</code >, which selects the whitespace definition.
414+ Selecting one does not select the other.
415+ </para >
416+ <para >
417+ Embedders can override the process-wide setting with
418+ <code >CompatibilityMode.setActive</code >; <code >reset()</code > reads the
419+ system property again. These are not per-model settings. Configure them
420+ before constructing or using model components, and do not switch them while
421+ requests are running. Record both modes with the training configuration;
422+ loading a model does not select them automatically.
407423 </para >
408424 </section >
409425 </section >
0 commit comments