9.0

Release date: 2023-09-27

  • #305 - As a user I would like to be able to change my username.

  • #448 - Upgrade to Spring Boot 3.1.4.

  • #428 - Rename Storage module to File Storage.

  • #426 - Remove deprecated methods in Order.

  • #118 - Accountancy find method fail for subclassed entries.

  • #223 - Fix documentation on how to work with and potentially extend Accountancy(Entry).

  • #430 - Allow removing individual files from Storage.

  • #393 - Switch to Spring HTML Asciidoctor backend.

  • #314 - Allow lookup of custom AccountancyEntry extensions via Accountancy.

  • #439 - Update copyright headers.

  • #441 - Upgrade to Spring Boot 3.1.3.

  • #442 - Upgrade to Spring Modulith 1.0.

  • #443 - Upgrade to jMolecules 2023.1.0.

  • #444 - Enforce aggregate boundaries in ProductPaymentEntry.

  • #445 - Enforce aggregate boundaries in Order.

  • #446 - Update build plugins.

  • #447 - Update Maven wrapper.

  • #436 - Upgrade to Spring Boot 3.1 M1.

  • #437 - Upgrade to Spring Modulith 0.4.

  • #438 - Upgrade to jMolecules 2022.2.3.

  • #435 - Upgrade to jMolecules BOM 2022.2.2.

  • #412 - Make it clear how to persist updated `AccountancyEntry`s.

  • #433 - Upgrade to Spring Boot 3.0.2.

  • #434 - Upgrade to Spring Modulith 0.3.

  • #385 - Order package uses American and British English variants of 'Canceled / Cancelled' simultaneously.

  • #370 - Annotate Interval with @Embeddable.

  • #423 - Allow to obtain UserAccount instances for all currently logged-in users.

  • #413 - Deprecated actions in GitHub workflows should be upgraded.

  • #417 - Upgrade to Spring Boot 3.0 GA.

  • #407 - Polish CSS for module canvases in reference documentation.

8.0.1

Release date: 2022-11-14

  • #404 - Document how @LoggedIn UserAccount controller arguments are resolved in integration tests.

  • #409 - OrderManagement.completeOrder(…) still returns completed Order on failure.

  • #408 - (Unique|Multi)InventoryItems no-arg constructors need to be visible outside the inventory package.

8.0

Release date: 2022-10-06

  • #397, #390, #386, #381, #373 - Upgrade to Spring Boot 3.0 M5.

  • #399 - Make sure that all domain types expose at least one non-private constructor.

  • #401 - Expose user.web package as named interface.

  • #367 - Cart.removeItem(…) should not return any value.

  • #366 - Introduce Cart.getQuantityFor(Product).

  • #365 - Changing the amount for a CartItem to zero or less than zero should remove it from the Cart.

  • #398 - Make sure UML component files are rendered as SVG.

  • #337 - Rework access to currently logged in UserAccount.

  • #389 - Method signature leads to error for unauthenticated users.

  • #391 - Upgrade to Java 17.

  • #392, #388 - Upgrade to jMolecules 2022.2.0.

  • #394, #387 - Upgrade to Moduliths 1.3.

  • #379 - Allow AuthenticationManagement to update the current authentication to a UserAccount.

  • #383 - Typo in ChargeLine Class.

  • #382 - Introduce abstraction for file storage.

  • #376 - InventoryManagement.cancelOrder(…) only cancels complete orders.

  • #375 - Add overloads for UserManagement.create(…) that take Iterable<Role>.

  • #374 - SalespointRepository should extend PagingAndSortingRepository.

  • #368 - Quantity.subtract(…) broken for Quantity.NONE.

  • #372 - Add Maven wrapper.

  • #371 - Programming model for functionality to be triggered daily or monthly.

7.4

Release date: 2021-10-05

  • #363 - Upgrade to Moduliths 1.2.1.

  • #362 - Upgrade to Spring Boot 2.5.5.

  • #356 - Upgrade Asciidoctor Maven Plugin to 2.2.1.

  • #357 - Remove superfluous JUnit exclusions.

  • #358 - Make verify the default build goal.

  • #359 - Upgrade to Spring Docs resources 0.2.5.

  • #360 - Upgrade Maven Wagon to 3.4.3.

  • #361 - Update .gitignore to exclude IntelliJ IDEA project files.

  • #355 - Upgrade to Moduliths 1.2.

  • #354 - Upgrade to jMolecules 1.3.

  • #353 - Upgrade to Spring Boot 2.5.4.

  • #352 - Upgrade to Moduliths 1.2 M1.

  • #351 - Upgrade to Spring Boot 2.5.2.

  • #350 - Upgrade to Spring Boot 2.5.1.

  • #345 - Upgrade to Moneta 1.4.2.

  • #342 - Upgrade to Spring Boot 2.5.

  • #343 - Upgrade to Moduliths 1.1 RC1.

  • #344 - Upgrade to jMolecules 1.2.

  • #334 - Fix source highlighting in reference documentation.

  • #339 - Upgrade to Spring Boot 2.4.1.

  • #338 - OrderManagement.save(…) updates order creation date under the wrong condition.

  • #336 - Fix minor issues and some typos in the reference docs.

  • #335 - Document different extension models and why they exist in the first place.

  • #333 - Upgrade to Moduliths 1.1 M1.

7.3.1

Release date: 2021-06-01

  • #346 - Upgrade to Moneta 1.4.2 on 7.3.x.

7.3

Release date: 2020-10-24

  • #332 - Fix APT setup to generate Querydsl metamodel classes again.

  • #330 - Pull requests trigger the "deploy artifacts" workflow and fail.

  • #303 - Misleading description in Javadoc for order and cart.

  • #326 - Replace Moduliths' @Event with jMolecule’s DomainEvent abstraction.

  • #288 - Javadoc of UserAccountManager.create(…) could mention that the password is automatically encrypted.

  • #304 - Avoid invalid usage of entities due to the need of a default constructor.

  • #310 - OrderLine type-level Javadoc broken.

  • #252 - Fire event on inventory stock change.

  • #328 - Rename …Manager classes to …Management.

  • #327 - Improve testing of events published by Order.

  • #325 - Refactor OrderManager.cancel(…) to take a reason.

  • #319 - Tweak CI build to continuously deploy snapshots and docs.

  • #323 - Switch version back to 7.3.

  • #324 - Upgrade to Maven Asciidoctor Plugin 2.1.

  • #300 - Quantities rendered from database values always contain ….00.

  • #299 - Upgrade to Moduliths 1.0 GA.

  • #321 - Upgrade to Spring Boot 2.3.4.

  • #320 - Fix broken Javadoc generation.

  • #318 - Switch to GitHub action and remove Travis builds.

  • #306 - SalesPoint Javadoc search is not working.

  • #317 - Set up Sonarcloud.

  • #316 - Facelift for website and reference documentation.

  • #315 - Add Moduliths @Event annotation to events.

  • #313 - Creation of a UserAccount should publish event.

  • #311 - Update to Spring Boot 2.3 M1.

  • #312 - Switch to API artifact of Moduliths.

  • #309 - Adapt to package changes in Moduliths.

  • #295 - Switch version to 8.0.

  • #294 - Upgrade to Spring Boot 2.2.2.

  • #293 - Improve usage of Streamable in repositories.

7.2.2

Release date: 2019-11-26

  • #284 - Exact Quantity.equals(…) comparison is inconsistent with Quantity.toString().

  • #253 - Allow to explictly disable the inventory update via property.

  • #282 - Document aggregate identification features.

  • #283 - Constraint violation when creating MultiInventoryItems with same Product.

7.2.1

Release date: 2019-10-23

  • #280 - Make sure roles are properly translated into Spring Security role authorities.

7.2

Release date: 2019-10-14

  • #163 - Relax 1:1 relationship between InventoryItem and Product.

  • #216 - Document usage of @LoggedIn annotation.

  • #255 - Is Interval open or closed?.

  • #276 - Reorganize reference docs.

  • #267 - Upgrade to Moduliths 1.0 RC2.

  • #259 - Upgrade to Spring Boot 2.2 RC1.

  • #254 - Use explicit module names to avoid clashes with user-level projects.

  • #257 - Upgrade to Java 11.

  • #278 - MonetaryAmountAttributeConverter should report original exception in case the fallback parsing fails.

  • #251 - Add Quantity.times(…) to multiply with scalars.

  • #190 - "Getters of lazy classes cannot be final" during server start after Update to 6.4.1.

  • #221 - Make sure Spring components can be clearly identified in the Javadoc.

  • #272 - Let PersistentUserAccountManager consistently work with UnencryptedPassword.

  • #273 - Switch to OpenJDK for Travis build.

  • #274 - Adapt to changes in configuration properties scanning in Spring Boot 2.2.

  • #269 - Make sure AbstractEntity sets isNew flag in @PrePersist.

  • #270 - Model (Un)EncryptedPassword explicitly.

  • #271 - Lower log output for test cases.

  • #265 - Upgrade to Asciidoctor Maven plugin to 2.0.

  • #268 - Upgrade to JUnit 5.4.2.

  • #266 - Default spring.datasource.generate-unique-name to true.

  • #264 - Tweak Lombok setup to exclude generated code from test coverage reports.

  • #261 - Add explicit module display names.

  • #262 - Upgrade to Lombok Maven Plugin 1.18.6.0.

  • #263 - Upgrade Asciidoctor Maven Plugin dependencies.

  • #258 - Upgrade to JUnit 5.4.

  • #250 - Quantity.isZeroOrNegative() is false for amounts with decimal digits.

7.1

Release date: 2019-01-08

  • #247 - Map Product.categories eagerly to avoid LazyInitializationExceptions from ….toString().

  • #246 - ChargeLine needs an inheritance strategy defined.

  • #245 - Explicitly enable spring.jpa.open-in-view to avoid warning.

  • #238 - Tweak Travis build to make sure the first build runs the tests as well.

  • #239 - Upgrade to Spring Data release train Moore.

  • #244 - Upgrade to Spring Boot 2.1.1.

  • #243 - LoggedInHandlerMethodArgumentResolver not registered anymore.

  • #242 - Fix transaction settings for PersistentUserAccountManager.delete(…).

  • #241 - Clean up web auto configuration.

  • #240 - Add ability to lookup all orders.

  • #237 - Make Querydsl dependency non-optional.

  • #235 - Move StringToRoleConverter into user account module.

  • #236 - Add modulith component diagrams to reference documentation.

  • #234 - Move AttributeConverter for MonetaryAmount to support package.

  • #233 - Upgrade to Moduliths 1.0 M2.

  • #232 - Allow lookup of products that are assigned to a set of categories.

  • #220 - Improve Javadoc of Accountancy.add(…) to include not about the entry’s date handling.

  • #215 - Create human readable representation in OrderCompletionReport.toString().

  • #214 - Configure Maven Source Plugin to attach sources.

  • #180 - Documentation section on orders is wrong about the usage of ChargeLines.

  • #228 - Implement UserAccount.toString() for easier debugging.

  • #222 - Allow login via email address.

  • #231 - Wrong Javadoc in AccountancyEntry(MonetaryAmount, String).

  • #226 - Add ability to have ChargeLines that refer to OrderLines.

  • #230 - Publish event on order cancellation and adapt inventory and accountancy accordingly.

  • #227 - Prefix columns of Quantity to avoid name clashes.

  • #229 - Add .factorypath to .gitignore.

  • #225 - Upgrade to Spring Boot 2.1 GA.

  • #218 - Allow deleting user accounts.

  • #219 - Allow deleting orders.

7.0

Release date: 2018-10-05

  • #199 - Re-evalute cascade operations on InventoryItem.

  • #197 - Reduce visibility of primary OrderLine constructor.

  • #204 - Hide component internals in JavaDoc.

  • #207 - Upgrade to Spring Boot 2.1 M4.

  • #212 - Upgrade to Moduliths 1.0 M1.

  • #208 - Upgrade to JUnit 5.

  • #196 - Improve design in Quantity.

  • #210 - Integrate Moduliths architecture conventions.

  • #211 - Switch repository methods returning Iterables to Streamables.

  • #174 - Upgrade to Spring Boot 2.0.

  • #205 - Extend copyright years to 2018.

  • #206 - Add nullability annotations.

6.4 GA

Release date: 2017-10-03

  • #172 - Upgrade to Spring Boot 1.5.7.

  • #173 - Minor polishing in domain model.

  • #169 - Add Apache License headers.

  • #170 - Switch to non-JavaDoc-violating references to issues in test cases.

  • #171 - Upgrade to Moneta 1.1.

  • #164 - Upgrade to Spring Boot 1.5.

  • #166 - Upgrade Maven Wagon plugin to 3.0.

  • #167 - Upgrade Lombok Maven plugin to 1.16.18.0.

  • #168 - Upgrade Asciidoctor Maven plugin to latest version.

  • #165 - Upgrade to AssertJ 3.8.

6.3.1

Release date: 2016-11-27

6.3

Release date: 2016-10-23

  • #145 - Improve JavaDoc of Accountancy.

  • #143 - Quantity should throw more specific exception for operations with incompatible metrics.

  • #139 - Add JPA 2.1 AttributeConverter for MonetaryAmount.

  • #140 - Upgrade to Spring Boot 1.4.

  • #141 - Rename SalespointDataInitializer to DataInitializerInvoker.

  • #142 - Add method to find items out of stock on Inventory.

  • #144 - Refactor handling of downstream actions in PersistentOrderManager to use events.

  • #125 - Improve JavaDoc of ConsoleWritingMailSender.

  • #119 - Upgrade to Spring Boot 1.3 GA.

  • #114 - Add example and test on how to extend Inventory.

  • #115 - Switch to H2 as test database.

6.2.1

Release date: 2016-01-05

  • #136 - Upgrade to Asciidoctor Maven plugin 1.5.3.

  • #135 - Fix Javadoc on Inventory.

  • #134 - Upgrade to Spring Boot 1.3.1 to benefit from devtools.

  • #131 - Improve reference documentation on Money.

  • #130 - Make sure JavaDoc is correct for Lombok generated methods.

  • #129 - Add Quantity.toZero().

  • #126 - Improve JavaDoc of ConsoleWritingMailSender.

  • #124 - Documentation for updated Role usage.

  • #120 - Upgrade to Spring Boot 1.3 GA.

6.2 GA

Release date: 2015-10-29

  • #113 - Upgrade to Spring Boot 1.3 RC1.

  • #112 - Remove obsolete Thymeleaf tests.

  • #111 - Update Sonargraph architecture description.

  • #108 - Remove TODOs from reference documentation.

  • #107 - Turn Role into value object.

  • #104 - Create link to the UML class diagram in the technical reference.

  • #101 - Fixed small typo.

  • #100 - Update UML diagrams.

  • #97 - Update UML diagrams in reference documentation.

  • #67 - Improve documention about Quantity attributes.

  • #61 - Improve naming of find(…) methods in OrderManager.

6.2 RC1

Release date: 2015-10-09

  • #99 - Improve Quantity’s toString() method.

  • #96 - Upgrade to Spring Boot 1.3.

  • #93 - Upgrade to Spring Boot 1.2.5.

  • #92 - AccountancyEntry.getDate() should use Optional.

  • #91 - Upgrade to Spring Security 4.0.1.

  • #90 - Upgrade to Spring Boot 1.2.4.

  • #89 - Switch to Moneta for handling of monetary amounts.

  • #88 - Remove workaround for #87.

  • #87 - Add temporary workaround for Spring Boot not picking up multiple @EntityScan annotations.

  • #86 - Upgrade to Spring Data Fowler.

  • #85 - Upgrade to Spring Security 4.0.

  • #84 - Upgrade to Spring Boot 1.2.3.

  • #83 - Switch to official release of Thymeleaf JDK 8 integration.

  • #9 - Simplify Quantity API.

6.1.1

Release date: 2014-12-23

  • #80 - Add equals(…) / hashCode() / toString() methods to value objects in payment package.

  • #76 - SpringSecurityAuthenticationManager should return Optional.empty() if no user is logged in.

  • #75 - Update architecture description to reflect allowed dependency from orders to inventory.

  • #74 - Make sure auto-configuration for web and security gets applied.

  • #72 - Reintroduce CharacterEncodingFilter bean declaration as the default in Boot 1.2.0 doesn’t work as advertised.

6.1

Release date: 2014-12-12

  • #71 - Include Thymeleaf / Spring Security integration library by default.

  • #70 - JavaDoc should list package protected types.

  • #69 - PersistentOrderManager needs to invoke save(…) after completing the order.

  • #62 - Remove deprecated OrderManager.add(…) and update(…) methods.

  • #57 - Add @EnableSalespoint to simplify bootstrapping of Salespoint applications.

  • #56 - Upgrade to Spring Boot 1.2.

  • #52 - Provide component to let Thymeleaf render JDK 8 date formats correctly.

  • #47 - Reduce visibility of constructors of SalespointIdentifier subtypes.

6.0.1

Release date: 2014-12-01

  • #64 - Subtracting quantities returns invalid result (not a bug).

  • #63 - Make 6.1 the next development version.

  • #60 - Unify OrderManager.add(…) and ….update(…).

  • #59 - Add port-property to MailSenderAutoConfiguration.MailProperties.

  • #58 - Upgrade to Spring Boot 1.1.9.

  • #55 - UserAccount is missing an uniqueness constraint on identifier.

  • #54 - Fix JavaDoc for Catalog.findByName(…).

  • #53 - Typo in dependency declaration on Salespoint homepage.

  • #49 - Release version 6.0.1.

  • #48 - Provide UserAccountManager.findByUsername(…) to avoid leaking internals of UserAccountIdentifier.

  • #46 - Support private constructors in SalespointIdentifiers.

6.0 GA

Release date: 2014-11-10

  • #44 - Improve Cart API.

  • #43 - Remove JPA meta-model types.

  • #42 - Release version 6.0 GA.

  • #41 - Enable global method security in SalespointSecurityConfiguration.

6.0 RC1

Release date: 2014-10-28

  • #40 - Release version 6.0 RC1.

  • #39 - Upgrade to Tomcat 8.0.14.

  • #38 - PersistentOrderManager.commit(…) sorts OrderLines into wrong intermediate collection.

  • #37 - LoggedInUserAccountArgumentResolver needs to be adapted to work with Optional<UserAccount> only.

  • #36 - Rename Basket to Cart and polish API.

  • #35 - Simplify setting up infrastructure to send emails.

  • #34 - Improve Inventory API.

  • #33 - Add Maven dependency block to static website.

  • #32 - Add changelog to website.

  • #10 - Remove deprecated types where possible.

6.0 M1

Release date: 2014-10-14

  • #4 - Release 6.0 M1

  • #30 - Upgrade to Spring Boot 1.1.8

  • #5 - Renew technical documentation

  • #13 - Improve design of JpaEntityConverter

  • #29 - Release 6.0 M1

  • #18 - Add package-info.java files for packages

  • #28 - Upgrade to Spring Boot 1.1.7

  • #17 - Add deployment of artifacts and documentation to project build

  • #26 - Update Asciidoctor and APT plugin

  • #25 - Overhaul domain code

  • #24 - Use Spring Data repositories in inventory and accountancy as well

  • #14 - Extract BlankWeb into separate repository

  • #15 - Remove Calendar project and extract Blankweb into separate repository

  • #16 - Pull up SalespointFramework to become top level project

  • #22 - Bump version number to 6.0

  • #19 - Simplify Catalog

  • #21 - Consolidate packages

  • #20 - Remove Spielwiese

  • #11 - Switch to JodaMoney

  • #1 - Extract Guestbook and VideoShop projects into separate repositories

  • #6 - Upgrade to Spring Boot 1.1.5

  • #7 - Simplify time management

  • #8 - Switch from JodaTime to JDK 8 Date/Time abstractions

  • #3 - Upgrade to latest Spring Boot and Spring Framework versions

  • #2 - Setup Asciidoctor Maven build and sample file