Releases: sourcegrade/jagr
Releases · sourcegrade/jagr
Jagr v0.6.3
What's Changed
- Fix HTML Escaping by @dst97 in #147
- Check child tests for failures by @alexstaeding in #148
Full Changelog: v0.6.2...v0.6.3
Jagr v0.6.2
What's Changed
- Fix broken file path separators on windows for grader run task by @alexstaeding in #137
- Fix broken capitalization in some locals by forcing english capitalization by @alexstaeding in #139
- Let JUnitTestRefFactoryImpl.Default.get evaluate all matching test results instead of only the first by @Hapstyx in #143
- Make the link to the result.html file clickable inside the console on Windows by @LukasKlenner in #141
- Fix HTML Structure in HTML Exporter by @dst97 in #145
New Contributors
- @LukasKlenner made their first contribution in #141
Full Changelog: v0.6.1...v0.6.2
Jagr v0.6.1
What's Changed
- Correctly search dependencies for grader run task by @alexstaeding in #134
- Fix check task not depending on grader run task by @alexstaeding in #135
- Fix grader libs task not using project version in artifact name 43d6715
Full Changelog: v0.6.0...v0.6.1
Jagr v0.6.0
What's Changed
- fix(deps): update log4j to v2.19.0 by @renovate in #103
- fix(deps): update junit5 monorepo by @renovate in #104
- Force single assignmentId in grader jar by @alexstaeding in #101
- Remove GraderInfoImpl and SubmissionInfoImpl by @alexstaeding in #108
- Add option to specify custom export build script by @Hapstyx in #110
- fix(deps): update dependency org.slf4j:slf4j-api to v2 by @renovate in #95
- Add jagrVersion field to GraderInfo by @alexstaeding in #111
- Remove SLF4J and move to log4j api by @alexstaeding in #112
- Ship version file and log version on startup by @alexstaeding in #113
- Add jagrVersion field to SubmissionInfo by @alexstaeding in #114
- Add jagr-gradle plugin by @alexstaeding in #106
- Add RuntimeClassLoader to grader-api by @alexstaeding in #116
- Add rubricClassName to grader info by @alexstaeding in #118
- chore(deps): update kotlin to v1.7.20 by @renovate in #117
- Add visitClass to RuntimeClassLoader by @alexstaeding in #119
- Improve dependency configuration via jagr-gradle by @alexstaeding in #120
- Improve sourceSets in grader and submission info json by @alexstaeding in #121
- fix(deps): update asm to v9.4 by @renovate in #122
- Improve gradle submission export by using new information available from grader and submission info json by @alexstaeding in #123
- Rework LaunchConfiguration and remove configurate dependency in core by @alexstaeding in #127
- Support custom config via gradle by @alexstaeding in #128
- Fix gradle logging error with custom log4j2 config by @alexstaeding in #126
- Add logo and update readme by @alexstaeding in #130
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.4.1 by @renovate in #131
- Add ClassTransformer.injectSuperclass by @alexstaeding in #133
- Provide Rubric HTML View by @dst97 in #129
New Contributors
Full Changelog: v0.5.1...v0.6.0
Jagr v0.5.1
What's Changed
- Improved logging, see 2a002ab and below
- fix(deps): update junit5 monorepo by @renovate in #92
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.4.0 by @renovate in #94
- Add style plugin by @alexstaeding in #97
- Search in-memory ClassLoader for jagr packages by @alexstaeding in #98
- Clean and improve GraderJar logging by @alexstaeding in #99
- Search correct parent classloader in findClass(String) by @alexstaeding in #100
- chore(deps): update dependency gradle to v7.5.1 by @renovate in #93
Full Changelog: v0.5.0...v0.5.1
Jagr v0.5.0
What's Changed
- Make studentId parsing more robust by @alexstaeding in #80
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.3.3 by @renovate in #78
- Do not export solution classes in test sourceSet by @alexstaeding in #84
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.2 by @renovate in #82
- Update kotlin to v1.7.0 by @renovate in #86
- Do not enable timeouts until JUnit tests start execution by @alexstaeding in #85
- Improve javadoc and style by @alexstaeding in #59
- Update dependency gradle to v7.5 by @renovate in #90
- Update log4j to v2.18.0 by @renovate in #88
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.4 by @renovate in #87
- Update dependency com.github.ajalt.clikt:clikt to v3.5.0 by @renovate in #75
- Update kotlin to v1.7.10 by @renovate in #89
Full Changelog: v0.4.1...v0.5.0
Jagr v0.4.1
What's Changed
- Move dependency declarations to a gradle version catalog by @alexstaeding in #60
- Configure Renovate by @renovate in #61
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.1 by @renovate in #63
- Update dependency com.github.ajalt.clikt:clikt to v3.4.1 by @renovate in #62
- Update dependency org.slf4j:slf4j-api to v1.7.36 by @renovate in #65
- Update plugin kotlin-jvm to v1.6.21 by @renovate in #66
- Update plugin org.jlleitschuh.gradle.ktlint to v10.2.1 by @renovate in #69
- Update dependency com.google.inject:guice to v5.1.0 by @renovate in #70
- Update org.ow2.asm to v9.3 by @renovate in #71
- Update actions/checkout action to v3 by @renovate in #72
- Update actions/setup-java action to v3 by @renovate in #73
- Hotfix for moodle-zip format 0f345ce
- Add java/lang/ClassLoader to banned insn owners 3b99528
- Force 2 digit assignmentId 8df2b0b
Full Changelog: v0.4.0...v0.4.1
Jagr v0.4.0
This release is mostly backward compatible, with only very minor breaking changes that should not affect most users.
What's Changed
- Add --no-export flag by @alexstaeding in #43
- Add default method ClassTransformer.getWriterFlags() by @alexstaeding in #44
- Show point ranges for parent criteria in rubric export by @alexstaeding in #45
- Add ETA to progress bar by @alexstaeding in #48
- Put assignmentIdRegex in config by @juliushardt in #47
- Escape < and > characters in moodle export instead of converting to [ and ] by @alexstaeding in #49
- Log stacktraces for child-process log messages by @janbormet in #50
- Accept old TU-IDs in the default studentID regex by @janbormet in #51
- Provide correct ClassLoader to ASM's ClassWriter by @alexstaeding in #52
- Replace newline character with HTML tag by @Hapstyx in #53
- Fix HTML tag escaping by @Hapstyx in #54
- Fix suspended methods in executor by @alexstaeding in #55
- Properly synchronize RubricCollector by @alexstaeding in #56
- Add custom ClassTransformer order by @alexstaeding in #57
- Add GradeResult#withCommonts() b85ff25
- Add GradeResult#of(PointRange) bbf742c
New Contributors
Full Changelog: v0.3.1...v0.4.0
Jagr v0.3.1
What's Changed
- Fix resource loading via ResourceBundle by @juliushardt in #42
- Fix comments from child criteria being included in parents 8796e54, ce89362
- Catch Throwable in BatchCompilation to prevent fatal crashes 1fb24df
- Implement findResources in
RuntimeClassLoader
7985282 - Update dependencies
Full Changelog: v0.3.0...v0.3.1
Jagr v0.3.0
Breaking changes
- Grading batch rework by @alexstaeding:
Graders and solutions are no longer separate jars. Solution classes are shaded in the grader jar, with a grader-info.json
with information as to which classes are part of the grader or part of the solution. More information in #28.
- Rework grading result minPoints and maxPoints by @alexstaeding in #40
New API and features
- Rainbow progress bar by @jan1na in #29
- Add ProgressBarProvider by @jan1na in #32
- Add getClassNames() to Submission by @alexstaeding in #33
- Dynamic serializers by @alexstaeding in #25
- Resource extractors by @alexstaeding in #26
- Add JagrExecutionCondition by @alexstaeding in #34
- Export rubrics during grading process instead of all at once at the end by @alexstaeding in #37
- Add experimental method TestCycleResolver.getTestCycle for static access to current TestCycle 4e60cdb
Fixes
- Fix catastrophic runtime performance while collecting graded rubrics 63fc6f7
- Update log4j to
2.15.02.16.0 (fixes 0-day exploit)2585070277bc47 - Fix duplicate assignmentId in rubric export file name 2022299
- Handle exceptions in RuntimeGrader gracefully by @alexstaeding in #41
Misc
- Switch from 2 spaces to 4 spaces by @alexstaeding in #31
- Migrate the TimeoutHandler to kotlin by @alexstaeding in #35
- Add ktlint 1882b94
New Contributors
Full Changelog: v0.2.2...v0.3.0