Clojure 1.12.1
Clojure 1.12.1 is now available! Find download and usage information on the Downloads page. CLJ-2899 - Revert change in semantics of qualified symbol in invocation position if field and method of same name CLJ-2898 - Objects that are both IFn and FunctionalInterface unnecessarily get converted to FI CLJ-2888 - gen-class - did not support new array class symbol syntax CLJ-2886 - add-libs - send only procurer keys to tool invocation CLJ-2906 - Add missing :added metadata to 1.12 functions

Clojure 1.12.1 has been released, offering a new set of improvements and bug fixes for developers using the popular functional programming language. The latest version, available for download on the official Clojure Downloads page, includes several enhancements that address issues reported since the initial release of Clojure 1.12.
One of the key changes in this update is the reversion of a change in the semantics of qualified symbols in the invocation position when a field and method of the same name exist. This fix, identified as CLJ-2899, ensures that the behavior of qualified symbols aligns with what developers expect, particularly in cases where a method and a field share the same name. This correction helps maintain consistency and avoids unexpected behavior in code that relies on qualified symbol resolution.
Another significant improvement in Clojure 1.12.1 is the resolution of an issue affecting objects that are both instances of IFn and FunctionalInterface. Previously, such objects were unnecessarily converted to FunctionalInterface, which could lead to unexpected type conversions and potential compatibility issues. The fix for CLJ-2898 ensures that these objects retain their original type, providing a more predictable and reliable development experience.
Clojure 1.12.1 also introduces support for the new array class symbol syntax in the `gen-class` function. This addresses the problem reported in CLJ-2888, which previously prevented the use of the updated array class symbol syntax. The addition of this support makes it easier for developers to work with arrays in Clojure, particularly when interfacing with Java code or leveraging new language features.
In addition to these enhancements, the release includes a fix for an issue with the `add-libs` function. The correction, labeled as CLJ-2886, ensures that only the procurer keys are sent to the tool invocation, streamlining the process and improving efficiency. This change is particularly beneficial for developers who rely on the `add-libs` function to manage their project dependencies.
Finally, Clojure 1.12.1 adds the missing `:added` metadata to functions introduced in Clojure 1.12. This change, identified as CLJ-2906, helps maintain accurate documentation and provides clearer information about which functions were added in the 1.12 release. This metadata is crucial for developers who rely on documentation to understand the capabilities and limitations of the language.
Overall, Clojure 1.12.1 represents a significant update that addresses critical issues and improves the stability and reliability of the language. By incorporating these fixes and enhancements, the Clojure team continues to prioritize the needs of its community, ensuring that developers have access to a robust and efficient toolset for their projects. As always, the full list of changes and detailed documentation can be found on the official Clojure website, making it easy for users to stay informed about the latest developments in the language.










