-
Notifications
You must be signed in to change notification settings - Fork 285
Description
Please give feedback on changes if are not able to resolve your code to the changes.
-
Break: split out generic AST utilities from
flexmark-util
module into separate smaller modules. IntelliJ IDEA migration to help with migration from 0.50.40 will be provided where needed if the package or class is changed.com.vladsch.flexmark.util
will no longer contain any files but will contain the separate utilities modules withflexmark-utils
module being an aggregate of all utilities modules, similar toflexmark-all
ast/
classes toflexmark-util-ast
builder/
classes toflexmark-util-builder
collection/
classes toflexmark-util-collection
data/
classes toflexmark-util-data
dependency/
classes toflexmark-util-dependency
format/
classes toflexmark-util-format
html/
classes toflexmark-util-html
mappers/
classes toflexmark-util-sequence
options/
classes toflexmark-util-options
sequence/
classes toflexmark-util-sequence
visitor/
classes toflexmark-util-visitor
-
Convert anonymous classes to lambda where possible.
-
refactor
flexmark-util
to eliminate dependency cycles between classes in different subdirectories. -
Break: delete deprecated properties, methods and classes
-
Add:
org.jetbrains:annotations:15.0
dependency to have@Nullable
/@NotNull
annotations added for all parameters. I use IntelliJ IDEA for development and it helps to have these annotations for analysis of potential problems and use with Kotlin. -
Break: refactor and cleanup tests to eliminate duplicated code and allow easier reuse of test cases with spec example data.
-
Break: move formatter tests to
flexmark-core-test
module to allow sharing of formatter base classes in extensions without causing dependency cycles in formatter module. -
Break: move formatter module into
flexmark
core. this module is almost always included anyway because most extension have a dependency on formatter for their custom formatting implementations. Having it as part of the core allows relying on its functionality in all modules. -
Break: move
com.vladsch.flexmark.spec
andcom.vladsch.flexmark.util
inflexmark-test-util
tocom.vladsch.flexmark.test.spec
andcom.vladsch.flexmark.test.util
respectively to respect the naming convention between modules and their packages. -
Break:
NodeVisitor
implementation details have changed. If you were overridingNodeVisitor.visit(Node)
in the previous version it is nowfinal
to ensure compile time error is generated. You will need to change your implementation. See comment in the class for instructions.ℹ️
com.vladsch.flexmark.util.ast.Visitor
is only needed for implementation ofNodeVisitor
andVisitHandler
. If you convert all anonymous implementations ofVisitHandler
to lambdas you can remove all imports forVisitor
.- Fix: remove old visitor like adapters and implement ones based on generic classes not linked to flexmark AST node.
- Deprecate old base classes:
com.vladsch.flexmark.util.ast.NodeAdaptedVisitor
see javadoc for classcom.vladsch.flexmark.util.ast.NodeAdaptingVisitHandler
com.vladsch.flexmark.util.ast.NodeAdaptingVisitor