Releases: staycaffeinated/metacode
Release 7.0.0
Added
-
A DataStore class has been added to encapsulate the business rules around
persistence. The DataStore API deals in Domain objects. Behind the scenes,
the DataStore handles the EntityBeans and Repositories that enable reading
and writing to the database. The Service components have also been refactored
to interface with the DataStore instead of the Repository. The DataStore is
only available in the spring-webmvc templates in this first release. -
Added MongoDB support for spring-webmvc projects. Test containers can also be
used with MongoDB, but that's still an 'early-access' option, as there is a
known problem that's still being investigated. -
Introduced an interface class to define the methods of implemented by the Service class.
This helps enforce a separation-of-concerns between the controller and service
classes.
Maintenance
- Updated these libraries and plugins:
** AssertJ
** Ben Manes gradle plugin
** Lombok
** PostgreSQL driver
** SonarQube plugin
** Spotless plugin
** Spring Boot
** Spring Cloud
Release 6.1.0
Added
Test fixtures are now generated as part of the spring-webflux and spring-webmvc templates. The unit tests and integration tests were refactored to leverage these test fixtures.
Integration tests are now generated by the spring-webflux template. These integration tests support PostgreSQL and Test Containers.
Fixed
The jakarta.persistence-api library is now part of build.gradle and dependencies.gradle. This resolves some compile-time warnings that came about when the upgrade to Spring Framework 6/Boot 3 occurred.
Changed
These libraries and Gradle has been updated to their latest versions: JUnit, Reactor Test, Coditory Integration Test plugin, and the Spotless plugin.
Release 6.0.0
Features
- Upgraded the generator to emit Spring Framework 6 and Spring Boot 3 code
- Resource IDs are now alphanumeric instead of all-numeric.
- Added some Kafka libraries to the dependencies.gradle inventory:
- Apache Kafka
- Apache Kafa Client
- Spring Cloud Starter Stream Kafka
- Spring Cloud Binder Kafka Streams
Maintenance
- Updated these libraries and plugins to their latest versions
- Spring Gradle Plugin
- Ben Manes Gradle Plugin
- Spring Cloud Starter
- Test Containers
- PostgreSQL
- Liquibase
Release 5.4.0
Bug Fixes:
Metacode allowed the user to create a resource named 'Public'. During code generation, the resource name becomes part of a package name (for example, 'acme.petstore.public'). Since 'public' is a reserved word in Java, this causes compile-time errors. This has been fixed.
Refactor:
Use Amazon Corretto as the base Docker image used by the Jib plugin. The default base image, OpenJDK, has been deprecated. Using a supported base image makes more sense.
The SnakeYaml version is pinned to 1.33 in the 'dependencies.gradle' file. Spring Boot currently pulls in snakeyaml:1.30, which has known vulnerabilities. We've pinned the version to v1.33 (the latest version at this time) to resolve that CVE. This code change can be found at the bottom of the 'dependencies.gradle' file.
Maintenance:
Bumped the Reactor Test library to v3.5.0
Release 1.2.1
Bug fixes
Release v0.1.0
Changelog
c97e845 fix: correct the request mapping within the root controller
ec7cd65 release: enable releasing thru jreleaser
23fb2b5 feat: add current year to copyright header
51b78ed test: add test case for routes-without-slash bug
1ad159f fix: ensure resource route starts with forward slash
3316724 test: improve code coverage
6e5047b chore: fix code generation of multiple endpoints
b3b7183 fix: fix mix-up in basePath and resourcePath
67fe443 chore: generate a working spring-webmvc code base
ec18456 chore: improve code coverage
2dd4e2d chore: improve code coverage
735cd5f chore: add test coverage for endpoint code generation
3a5e0d7 chore: implement the RestEndpointTemplate
93755ef chore: improve code coverage
84a541c chore: optimize imports
c7b9bd8 chore: add endpoint code generator
4de636d feat: plugin writing metacode.props file during code generation
817ee25 feat: add workflow for reading and writing metacode.props file
3f7c0a3 chore: remove unused classes and some clean-up
538b650 chore: clean-up work
13633b7 chore: add tests
860f4dd chore: annotate so this class is not included in code coverage reports
6654d9e chore: fix code smells
f296238 build: add stanza for integration tests
7ba1b23 chore: ignore coverage of this interface
4b792b6 chore: add classes to enable read/write of metacode.properties file
e052e37 refactor: framework support
63d94ae fix: various bug fixes
804da56 chore: clean up work
9e33bfb chore: add converters to enable mustache expression parsing
0b8e92e build: update libs to their latest versions
23d14ac chore: remove code smells
31611f4 bug: fix guice initialization error
c58f30a build: add allIn task for end-to-end builds
b62a96f refactor: spring code generators
ce200b8 chore: remove dead code
0491132 refactor: add MetaTemplateModel stereotype
d4cd40e chore: harden template rendering
9ef13a4 docs: update copyright to 2022
3615a11 feat: add dependency catalog support
088cacb chore: add DependencyCatalog logic
e5ee3e8 feat: load dependencies.yml content
9445144 refactor: TemplateResolver interface
543d7df build: add stuff to ignore
acff832 chore: optimize imports
606492a tests: add unit tests
dc072a4 refactor: moved ExitCodes into meta-common module
2fd27ce refactor: rename class
f29bd35 chore: improve code coverage
dfbe742 refactor: changed signature of generateCode method
a437b78 chore: fix code smell
2c95bb2 chore: optimize imports
99f8a7a chore: add tests to improve code coverage
94b8e50 build: ignore stereotype interfaces in code coverage reports
b3e62c3 chore: improve code coverage
7dd740f chore: improve code coverage
a111b52 chore: fix code smells
15d2403 chore: fix code smells
9ed90d6 scratch: work in progress
9115e1f chore: add FTL templates
068f73b refactor: use IoC and dependency injection
5937a60 chore: work in progress
b661ec9 refactor: renamed annotation packages
05b99dd chore: code clean-up
f88df29 feat: guice integration
e0f0eb0 chore: create baseline