Skip to content

Releases: Pante/elementary

3.0.0

27 May 13:48
Compare
Choose a tag to compare

This release switches from storing generated classes and source files in-memory to temporary directories. This should fix
longstanding issues with classes and source files generated by processors being inaccessible.

This change is expected to be non-breaking. However, it represents a significant change to the underlying architecture.

  • Add @Generation annotation
  • Change underlying architecture to use temporary directories instead of in-memory file representations.
  • Fix test classes that contain only parameterized tests wrongly using a compiler from a previous test class.

2.0.1

18 Jan 07:23
Compare
Choose a tag to compare

This release fixes an issue with shaded artifacts not being deployed to Maven.

2.0.0

16 Jun 07:22
Compare
Choose a tag to compare

This release focuses on providing facilities for creating more precise and detailed diagnostic messages.
Note that Satsifactory still remains on 1.1.2 as it is not ready for a stable release yet.

Elementary

This release contains breaking changes that overhaul how elements are retrieved in tests.
It also provides first-class parameterized test support and JDK9 modules support.

Please read migrating to Elementary 2 for more information.

  • Add Compiler.module(...)
  • Change @Case to @Label
  • Change Cases to Labels
  • Change Tools.cases() to ToolsExtension.labels()
  • Change Compiler's classpath related methods to add to the classpath rather than set the classpath
  • Change DaemonCompiler.Environment.cases to DaemonCompiler.Environment.labels
  • Change DaemonCompiler.of(Class<?>) to process the given class's module if the module is named
  • Remove DaemonCompiler.of(AnnotatedConstruct)
  • Remove DaemonCompiler.of(List<JavaFileObject>)

Utilitary

  • Add com.karuslabs.utilitary.snippet
  • Add AnnotationValuePrinter
  • Add Logger.error(Element, AnnotationMirror, Object)
  • Add Logger.warn(Element, AnnotationMirror, Object)
  • Add Logger.note(Element, AnnotationMirror, Object)
  • Change Logger.error(Element, String) to Logger.error(Element, Object)
  • Change Logger.warn(Element, String) to Logger.warn(Element, Object)
  • Change Logger.note(Element, String) to Logger.note(Element, Object)
  • Change Source to always append a newline using \n instead of the system's line separator - using the system's line separator was a terrible mistake
  • Change TypeMirrors.element(TypeMirror) to TypeMirrors.asTypeElement(TypeMirror)
  • Change TypePrinter.SIMPLE to TypePrinter.simple()
  • Change TypePrinter.QUALIFIED to TypePrinter.qualified()
  • Change Walker.specializedAncestor(TypeMirrors) to Walker.ancestor(TypeMirrors)
  • Fix TypeMirrors.is(TypeMirror, Class) always returning false on primitive types
  • Fix TypePrinter throwing a StackOverflowError on circular type parameters
  • Remove com.karuslabs.annotations dependency - annnotation is now compiled agaisnt JDK 16
  • Remove Names
  • Remove Logger.error(Element, Object, String, String)
  • Remove Logger.error(Element, Object, String)
  • Remove Logger.warn(Element, Object, String, String)
  • Remove Logger.warn(Element, Object, String)
  • Remove Logger.note(Element, Object, String, String)
  • Remove Logger.note(Element, Object, String)
  • Remove Texts.quote(String)
  • Remove Walker.erasuredAncestor(TypeMirrors) - Erasured ancestors is subtlely flawed since a Collection will be an ancestor of a List

1.1.3

23 Oct 03:02
Compare
Choose a tag to compare

This is a hotfix for a few issues.

Elementary

  • Change DaemonCompiler.run(...)'s diagnostic message to better explain java crashes
  • Fix cyclic dependency between Elementary and Utilitary
  • Fix MemoryFileManager not encoding URLs, causing modules to not compile

1.1.2

06 Feb 06:16
Compare
Choose a tag to compare

This is a hotfix for a few issues.

Elementary

  • Fix Results returning empty generated files

Polish & Shine

20 Jun 15:20
Compare
Choose a tag to compare

This release focuses on fixing a few pesky issues.

Elementary Project

  • Fix source jars not being uploaded to the maven repository

Elementary

  • Change Cases.label(String) to Cases.get(String), the inconsistency between Cases.label(String) and Cases.get(int) was driving me nuts

Satisfactory

  • Fix EqualTimeSequence not comparing sequences properly

Utilitary

  • Add Walker.erasuredAncestor(TypeMirrors)
  • Change Walker.ancestor(TypeMirrors) to Walker.specializedAncestor(TypeMirrors)

The Case for Cases

17 May 06:29
Compare
Choose a tag to compare

This release focuses on improving the quality of life for cases.

Elementary

  • Add Cases.labels()
  • Change Cases.get(String) to Cases.label(String)
  • Change Cases.list() to Cases.all()
  • Change @Case annotation to use the annotated target's name if available as its label by default
  • Fix missing annotations

Satisfactory

  • Fix missing annotations

Utilitary

  • Fix missing annotations

Initial Laucnh!

22 Apr 02:20
bef0e0e
Compare
Choose a tag to compare
1.0.0

Update CHANGELOG.md