Commit Graph

24142 Commits

Author SHA1 Message Date
Stéphane Nicoll f1b128b88d Release v5.3.39 2024-08-14 10:45:40 +02:00
Stéphane Nicoll 8a44eaa6c5 Next development version (v5.3.39-SNAPSHOT) 2024-08-14 09:55:55 +02:00
Juergen Hoeller f44d13cb78 Disable array allocation in case of no constructor resolution
See gh-28808
Closes gh-33386

(cherry picked from commit a3a48a241c)
2024-08-14 10:02:59 +03:00
Stéphane Nicoll f00bc7bb24 Remove snapshot repo 2024-08-14 08:22:43 +02:00
rstoyanchev 582bfccbb7 Efficient ETag parsing
Closes gh-33372
2024-08-14 07:56:54 +03:00
Juergen Hoeller 406b33d380 Upgrade to Netty 4.1.112 2024-08-13 19:43:06 +02:00
Sam Brannen f9c3d00af0 Introduce withAssignmentDisabled() option for SimpleEvaluationContext
To support additional use cases, this commit introduces a
withAssignmentDisabled() method in the Builder for
SimpleEvaluationContext.

See gh-33319
Closes gh-33320

(cherry picked from commit 79c7bfdbad)
2024-08-13 17:55:08 +03:00
Riley Park d2715d2fa1 Fix incorrect weak ETag assertion
Closes gh-33377
2024-08-13 17:21:55 +03:00
Stéphane Nicoll 57b02da8b9 Upgrade to Reactor 2020.0.47
Closes gh-33322
2024-08-13 15:29:24 +02:00
Stéphane Nicoll df33bf27bd Sync GHA setup 2024-08-09 16:13:14 +02:00
Stéphane Nicoll f75cebd8f2 Start building against Reactor Reactor 2020.0.47 snapshots
See gh-33322
2024-08-07 09:48:27 +02:00
Sam Brannen 26f2dad388 Enforce read-only semantics in SpEL's SimpleEvaluationContext
SimpleEvaluationContext.forReadOnlyDataBinding() documents that it
creates a SimpleEvaluationContext for read-only access to public
properties; however, prior to this commit write access was not disabled
for indexed structures when using the assignment operator, the
increment operator, or the decrement operator.

In order to better align with the documented contract for
forReadOnlyDataBinding(), this commit makes it possible to disable
assignment in general in order to enforce read-only semantics for
SpEL's SimpleEvaluationContext when created via the
forReadOnlyDataBinding() factory method. Specifically:

- This commit introduces a new isAssignmentEnabled() "default" method
  in the EvaluationContext API, which returns true by default.

- SimpleEvaluationContext overrides isAssignmentEnabled(), returning
  false if the context was created via the forReadOnlyDataBinding()
  factory method.

- The Assign, OpDec, and OpInc AST nodes -- representing the assignment
  (=), increment (++), and decrement (--) operators, respectively --
  now throw a SpelEvaluationException if assignment is disabled for the
  current EvaluationContext.

See gh-33319
Closes gh-33320

(cherry picked from commit e1ab306506)
2024-08-06 14:31:44 +03:00
Sam Brannen 7e390784ba Throw exception for failure to set property as index in SpEL
Prior to this commit, the Indexer in the Spring Expression Language
(SpEL) silently ignored a failure to set a property via the indexed
property syntax (['<property name>'] = <new value>) – for example, if
property write access was disabled in the EvaluationContext.

This commit addresses this issue by properly throwing a
SpelEvaluationException in PropertyIndexingValueRef.setValue(Object) if
the property could not be set.

See gh-33310
Closes gh-33312

(cherry picked from commit c57c2272a1)
2024-08-05 14:31:57 +03:00
Sam Brannen d5c5c91f41 Polishing 2024-08-05 14:31:23 +03:00
Sam Brannen 1847d2f686 Support conversion from primitive array to Object[] in ConversionService
Prior to this commit, the ConversionService failed to convert a primitive
array (such as int[]) to an Object[] due to an error in the logic in
ArrayToArrayConverter.

This commit addresses this by augmenting the "can bypass conversion"
check in ArrayToArrayConverter to ensure that the supplied source object
is an instance of the target type (i.e., that the source array can be
cast to the target type array without conversion).

Closes gh-33212

(cherry picked from commit cb6a5baac5)
(cherry picked from commit 3e7372491c)
2024-08-05 10:32:02 +03:00
Sam Brannen 351a17a28b Revert "Support single String argument for varargs invocations in SpEL"
This reverts commit dffb6c5bb6.

See gh-33013
See gh-33188
2024-08-04 16:44:20 +03:00
Sam Brannen dffb6c5bb6 Support single String argument for varargs invocations in SpEL
Prior to this commit, the Spring Expression Language (SpEL) incorrectly
split single String arguments by comma for Object... varargs method and
constructor invocations.

This commit addresses this by checking if the single argument type is
already "assignable" to the varargs component type instead of "equal"
to the varargs component type.

See gh-33013
Closes gh-33188

(cherry picked from commit d33f66d9b5)
2024-07-26 17:56:21 +03:00
Stéphane Nicoll 286f5f295e Remove useless permissions on build-and-deploy-snapshot workflow
Closes gh-33240
2024-07-19 11:47:52 +02:00
Stéphane Nicoll d8e5613ef7 Add missing artifact properties for staging
This commit makes sure that docs artifacts have their attributes set
for staging as well. Previously they were not and deployment of Javadoc
did not occur.

Closes gh-33208
2024-07-12 08:59:12 +02:00
Stéphane Nicoll e319bd7016 Remove concourse configuration now that CI is using GitHub Actions 2024-07-11 17:29:42 +02:00
Stéphane Nicoll c8e9ad6289 Backport improvements to CI setup
This includes the ability to release from GitHub Actions.

Closes gh-33202
2024-07-11 17:21:13 +02:00
Juergen Hoeller 562351f42f Detect ajc markers in superclasses as well (for weaving check)
Closes gh-33113

(cherry picked from commit 100da83913)
2024-07-03 17:16:47 +02:00
Juergen Hoeller 2302b30c2b Apply fallback resolution for non-hierarchical URIs such as "file:."
Includes meaningful exception message for file system resolution.

Closes gh-33124

(cherry picked from commit daea3f0eae)
2024-07-03 16:49:03 +02:00
Stéphane Nicoll 96e3aa68a8 Fix name of GitHub actions bot
See gh-gh-33078
2024-06-21 14:16:44 +02:00
Stéphane Nicoll 2303ea92fe Exclude GitHub Actions bot from changelog
Closes gh-33078
2024-06-20 14:17:58 +02:00
Brian Clozel fa05de1d96 Use Sonatype S01 token in release pipeline 2024-06-18 19:28:51 +02:00
Juergen Hoeller 6b62b93d43 Backported test for @Autowired @Bean method on configuration subclass
See gh-33030
2024-06-17 19:15:41 +02:00
Juergen Hoeller 2eed02ea44 Correct and consistent event class names in constructor javadoc
Closes gh-33032

(cherry picked from commit e79a9a5bff)
2024-06-17 19:08:00 +02:00
Stéphane Nicoll bafb1c7e2b Fix typo
Closes gh-33052
2024-06-17 13:43:02 +02:00
Stéphane Nicoll c8df1861bf Fix property name in Container Extension Points section
Closes gh-33039
2024-06-16 16:51:05 +02:00
Stéphane Nicoll ef81f06528 Fix invalid character in Javadoc of BeanFactory 2024-06-13 13:32:01 +02:00
Spring Builds a65ea7983d Next development version (v5.3.38-SNAPSHOT) 2024-06-13 08:39:58 +00:00
Juergen Hoeller 0ce1ef97ce Polishing (aligned with 6.0.x) 2024-06-12 14:10:08 +02:00
Juergen Hoeller e26ea007fa Upgrade to spring-javaformat-checkstyle 0.0.42 and Netty 4.1.111 2024-06-12 14:09:08 +02:00
Stéphane Nicoll c10b6c2c3e Upgrade to Reactor 2020.0.45
Closes gh-33010
2024-06-11 14:02:14 +02:00
Juergen Hoeller 63568e6c4f Skip ajc-compiled aspects for ajc-compiled target classes
Includes defensive ignoring of incompatible aspect types.

Closes gh-32970

(cherry picked from commit 0ea96b4806)
2024-06-06 21:09:27 +02:00
Juergen Hoeller d41048528f Avoid NoSuchMethodException for annotation attribute checks
Closes gh-32921

(cherry picked from commit b08883b65c)
2024-06-03 12:56:36 +02:00
Sam Brannen 2384474615 Support compilation of map indexing with primitive in SpEL
Prior to this commit, the Spring Expression Language (SpEL) failed to
compile an expression that indexed into a Map using a primitive literal
(boolean, int, long, float, or double).

This commit adds support for compilation of such expressions by
ensuring that primitive literals are boxed into their corresponding
wrapper types in the compiled bytecode.

Closes gh-32903

(cherry picked from commit aed1d5f762)
2024-05-28 10:55:22 +02:00
Sam Brannen 0f04052ba1 Support compilation of array and list indexing with Integer in SpEL
Prior to this commit, the Spring Expression Language (SpEL) failed to
compile an expression that indexed into an array or list using an
Integer.

This commit adds support for compilation of such expressions by
ensuring that an Integer is unboxed into an int in the compiled
bytecode.

See gh-32694
Closes gh-32908

(cherry picked from commit 079d53c8d6)
2024-05-27 17:39:43 +02:00
Juergen Hoeller 98aa03c0c9 Test detection of original generic method for CGLIB bridge method
Includes isBridgedCandidateFor optimization (aligned with 6.0.x)

See gh-32888
2024-05-24 12:41:38 +02:00
Juergen Hoeller 3e45b76132 Polishing
(cherry picked from commit 6c08d93992)
2024-05-23 17:21:34 +02:00
Juergen Hoeller d42c9204ef Defensive handling of incompatible advice methods
This covers AspectJ transaction and caching aspects when encountered by Spring AOP.

Closes gh-32882
See gh-32793

(cherry picked from commit 6d7cd9c7dc)
2024-05-23 17:17:03 +02:00
Spring Builds d2babd46a2 Next development version (v5.3.37-SNAPSHOT) 2024-05-22 15:27:49 +00:00
Juergen Hoeller eff9f5b92a Select most specific advice method in case of override
Closes gh-32865

(cherry picked from commit ea596aa211)
2024-05-22 10:24:01 +02:00
Juergen Hoeller f1fed9c174 Polishing
(cherry picked from commit 20dea0dae2)
2024-05-21 18:18:30 +02:00
Juergen Hoeller d2e7cf4395 Default fallback parsing for UTC without milliseconds
Closes gh-32856

(cherry picked from commit fee17e11ba)
2024-05-21 18:07:31 +02:00
Juergen Hoeller 47a7abee8f Polishing 2024-05-21 12:28:48 +02:00
Juergen Hoeller ef2c140d3c Defensively catch and log pointcut parsing exceptions
Closes gh-32838
See gh-32793

(cherry picked from commit 617833bec9)
2024-05-17 12:50:50 +02:00
Spring Builds de6cf845b1 Next development version (v5.3.36-SNAPSHOT) 2024-05-16 07:09:30 +00:00
Juergen Hoeller 7da43a80e4 Upgrade to Reactor 2020.0.44 and Netty 4.1.109
Closes gh-32788
2024-05-14 22:54:32 +02:00