@@ -415,12 +415,28 @@ Arguments description:
415415 </screen >
416416 </para >
417417 <para >
418- Accepted values are <code >LEGACY</code > and <code >CURRENT</code > (the default),
419- case-insensitive; any other value throws an
420- <code >IllegalArgumentException</code >. The setting is independent of
421- <code >opennlp.whitespace.mode</code >, applies process-wide, so training and
422- decoding of a given model must use the same value, and is scheduled for
423- removal in 4.0.
418+ Accepted values are <code >LEGACY</code > and <code >CURRENT</code >,
419+ case-insensitive. An unset or blank property selects <code >CURRENT</code >;
420+ invalid values fail mode initialization. Set the property before OpenNLP
421+ initializes the mode, and use the same setting for training and inference.
422+ Legacy support is scheduled for removal in 4.0; selecting it logs a warning
423+ once per process.
424+ </para >
425+ <para >
426+ This setting affects only classes that explicitly consult
427+ <code >CompatibilityMode</code >. It does not restore every behavior of an
428+ earlier release: parser bracket spacing, corpus validation, and stream
429+ resource fixes are not switched back. It is independent of
430+ <code >opennlp.whitespace.mode</code >, which selects the whitespace definition.
431+ Selecting one does not select the other.
432+ </para >
433+ <para >
434+ Embedders can override the process-wide setting with
435+ <code >CompatibilityMode.setActive</code >; <code >reset()</code > reads the
436+ system property again. These are not per-model settings. Configure them
437+ before constructing or using model components, and do not switch them while
438+ requests are running. Record both modes with the training configuration;
439+ loading a model does not select them automatically.
424440 </para >
425441 </section >
426442 </section >
0 commit comments