Skip to content

Releases: babyfish-ct/jimmer

v0.9.78(Big change of Kotlin)

26 Apr 18:06
Compare
Choose a tag to compare
  1. Fixed #1005

  2. Both framework and examples are upgraded to K2

    User kotlin projects need to upgrade the version of kotlin and KSP

    • Kotlin: 2.1.20
    • KSP: 2.1.20-2.0.0

v0.9.77

25 Apr 20:50
Compare
Choose a tag to compare
  1. Fixed #1000

  2. Supports #1004 (Less db locks)

  3. Add QueryReason.FECHTER

  4. Addressing the over-optimization issue with the save command, use smarter strategy.

    The save command supports using fetcher/viewType to control the format of the saved object. If the shape of the newly saved object is larger than what the fetcher/viewType requires, optimization is performed by directly trimming the current object instead of fetching it from the database.

    However, this optimization is problematic. Since Jimmer supports UpsertMask, certain properties of the user object may not always be saved to the database. Therefore, in such cases, the optimization should be abandoned, and the existing object should be considered untrustworthy, insisting on querying from the database.

v0.9.76

20 Apr 16:33
Compare
Choose a tag to compare

v0.9.74

15 Apr 20:15
Compare
Choose a tag to compare
  1. Native sql fragment API is changed

    • Java: Redesign
    • Kotlin: Enhancement

    Both of them support vararg list of expressions.

  2. #989

    Both java/kotlin DSL support plus, minus and diff for time field.

    This is big change

  3. #990

    Add apt argument jimmer.dto.fieldVisibility

  4. Fix the bug about constant true in DTO file cannot be compiled

  5. Save command shortcut methods with SaveMode but without AssociatedSaveMode is added/un-deprecated

  6. More save command shortcust methods are deprecated, now saving and re-fetching by fetcher/viewType must use saveCommand directly.

v0.9.73

10 Apr 18:53
Compare
Choose a tag to compare
  1. Fix bugs #986, #987

  2. Attempt to add the following functions to the DSL's string expressions: upper, lower, trim, ltrim, rtrim, lpad, rpad, position, left, right, substring

v0.9.72

07 Apr 19:19
Compare
Choose a tag to compare

v0.9.71

05 Apr 08:26
Compare
Choose a tag to compare
  1. #963, #979. #980, #958

  2. Big enhancement of save command
    Now, save command can controlled the shaped of returned modifiedEntity, by Fetcher (access modifiedEntity) or by Output DTO class (access modifiedView)
    If the desired object shape does not exceed the existing modifiedEntity, it is directly clipped based on the existing object. Otherwise, a new query without cache is opened
    Now all the save behaviors of examples jimmer-sql, jimmer-sql-kt, jimmer-sql-graphql and jimmer-sql-graphql-kt care changed.

  3. New annotation @KotilinDto
    This annotation can only be used to decorate DTO types, not kotlin types (No annotation target)
    This annotation is handled by jimmer-ksp, ignored by jimmer-apt
    Jimmer can generated both immutable and mutable DTO for kotlin, now you can use this annotation to control immutability of DTO type one by one, no only set the global ksp configuration jimmer.dto.mutable

  4. PropScalarProviderFactory is supported
    This interface can provide property level scalar provider implicitly, jimmer will uses it to ask user whether a property requires a scalar provider. If spring-stater is used, it should be a managed bean, otherwise, it should be configuration of SqlClient.

  5. Many shortcut methods for the save command have been marked as deprecated.

    The save command has a wide range of configurable behaviors. In the early stages, many shortcut overload versions were requested, leading to severe API bloat due to the combinatorial explosion of options.

    As the save command evolved, its functionality continued to expand, and the number of shortcut API permutations grew accordingly, eventually reaching a point where maintenance became extremely difficult. In this version, many methods have been marked as deprecated to give users a transition period. Ultimately, the API will undergo streamlining.

v0.9.69

26 Mar 22:05
Compare
Choose a tag to compare
  1. Merged PR #975 #976
  2. Fix bug #968 #969

v0.9.68

19 Mar 22:04
Compare
Choose a tag to compare
  1. Kotlin API Major Upgrade: DSL API Becomes Safer
    If compilation errors occur after the update, it is actually a good thing, as it will inevitably expose incorrect usage in certain complex scenarios.

    All mutable statement DSL types are decoarted by @DslScope, which is declarted by @DslMarker of kotlin stdlib.
    That means if you uses subquery (neither explicit or implicit), you should not use members such as table, where of parent objects.

  2. Fixed #956, #957, #961, #962

  3. Implemented #959 and #960
    Note that #959 was not implemented as originally requested. To manage the complexity of the DTO language, documentation, and plugins, an alternative implementation approach was adopted.

v0.9.66

17 Mar 17:53
Compare
Choose a tag to compare