Skip to content

Releases: ghosthack/turismo

3.2.1

08 Mar 17:53
72b9168

Choose a tag to compare

What's Changed

  • Bump jetty.version from 12.0.21 to 12.1.6 by @dependabot[bot] in #26
  • Bump org.mockito:mockito-core from 5.21.0 to 5.22.0 by @dependabot[bot] in #29
  • Bump org.sonatype.central:central-publishing-maven-plugin from 0.6.0 to 0.10.0 by @dependabot[bot] in #27
  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 by @dependabot[bot] in #28
  • Bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.10.0 by @dependabot[bot] in #30
  • 3.2.1: Patch version bump for dependency updates by @ghosthack in #31

Full Changelog: v3.2.0...v3.2.1

3.2.0

28 Feb 06:46

Choose a tag to compare

What's Changed

  • 3.2.0: Annotation-based controller routing by @ghosthack in #25

Full Changelog: v3.1.0...v3.2.0

3.1.0

27 Feb 16:16

Choose a tag to compare

What's Changed

  • Fix release pipeline: inline Maven Central deploy in CI by @ghosthack in #23
  • 3.1.0: Shared routing core, JSON serializer, string body shorthand, varargs print by @ghosthack in #24

Full Changelog: v3.0.0...v3.1.0

3.0.0

27 Feb 15:03
064d853

Choose a tag to compare

What's Changed

  • Add automated release workflow by @ghosthack in #11
  • Auto-create GitHub release on version change by @ghosthack in #12
  • Remove build.gradle, add Dependabot config by @ghosthack in #14
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.2 to 3.5.5 by @dependabot[bot] in #15
  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.1 to 3.12.0 by @dependabot[bot] in #21
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #16
  • Bump org.mockito:mockito-core from 5.14.2 to 5.21.0 by @dependabot[bot] in #18
  • Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #17
  • Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #19
  • 3.0.0: Zero-dep static API, Jakarta EE 10, Java 17 by @ghosthack in #22

New Contributors

Full Changelog: v2.0.0...v3.0.0

2.0.0

27 Feb 04:45
b62568a

Choose a tag to compare

What's new

First release in 10+ years. The framework has been modernized while keeping the same lightweight Sinatra/Express-style API.

Breaking changes

  • GroupId changed from com.ghosthack to io.github.ghosthack
  • Package renamed from com.ghosthack.turismo to io.github.ghosthack.turismo
  • Minimum Java version raised from 8 to 11

Bug fixes

  • Fix multipart parser: reset CharsetDecoder between parts, loop on partial skip/read, use US-ASCII for protocol bytes
  • Fix boundary extraction to handle quoted values and arbitrary parameter ordering
  • Fix Servlet.init() not passing ServletConfig to super
  • Fix NPE when route resolver returns null (now sends 404)
  • Fix Env static accessors to throw descriptive IllegalStateException instead of NPE
  • Fix isParam() checking wrong index collection in ListResolver

Improvements

  • Add AbstractRoutes base class with lazy double-checked locking initialization
  • Add CRLF injection validation on redirects and location headers
  • Add patch() HTTP method shortcut
  • Add defensive copies and unmodifiable collections where appropriate
  • Replace deprecated Class.newInstance() with getDeclaredConstructor().newInstance()
  • Add @Override annotations and complete Javadoc on all public API (zero warnings)
  • Catch BufferOverflowException in multipart parser with descriptive error messages
  • Hoist path splitting out of route-matching loop, use HashSet for O(1) index lookups

Infrastructure

  • Replace Travis CI with GitHub Actions (Java 11, 17 matrix)
  • Upgrade dependencies: Servlet 3.1, JUnit 4.13.2, Mockito 5.14.2, Jetty 9.4.58
  • Add branch protection with required CI status checks
  • Add .gitattributes to enforce LF line endings

Maven coordinates

<dependency>
    <groupId>io.github.ghosthack</groupId>
    <artifactId>turismo</artifactId>
    <version>2.0.0</version>
</dependency>