rails changelog


Here's the latest scoop on our updates, packed with enhancements and fixes to make your coding experience smoother and more delightful. Let's dive into the details! 🚀

  • New feature: We've rolled out a shiny new Prism for Visitor::HashToString in the Rail Inspector project! 🎉 This enhancement transforms how hash data is converted to string representations, making the code more modular and maintainable. Enjoy improved flexibility and readability in your hash-to-string conversions!

  • Improvement: Before checking out a pinned connection, we now double-check its availability. This tweak boosts connection management, ensuring only active connections are used, and enhances the app's reliability and efficiency.

  • Bugfix: No more string mutations! We've fixed String#mb_chars to ensure the original string stays intact. Now, when force_encoding is called, we duplicate the argument to keep everything as it should be. Say goodbye to unintended side effects!

  • Improvement: We've added documentation for the unless_exist option in AS::Cache#write. This update clarifies how to use this option, helping you avoid potential pitfalls. Now, you can write to the cache only if the key doesn't exist, with ease!

  • Improvement: We're now using the released version of websocket-client-simple and have cleaned up code related to old Ruby warnings. This update streamlines the codebase and enhances compatibility with newer Ruby versions. Out with the old, in with the new!

  • Bugfix: We've fixed the drop_table function to properly handle inversions without options. This ensures smooth database management, so you can drop tables without a hitch. Stability and reliability, guaranteed!

  • Bugfix: We've resolved issue #54056 by supporting procedural symbols in callback conditionals. This fix, co-authored by Jean Boussier, enhances callback handling, making the system more robust and flexible. Enjoy a more efficient implementation!

Stay tuned for more updates and happy coding! 🧑‍💻✨

Included Commits

2024-12-27T00:03:54 See commit

The commit introduces a new feature in the Rail Inspector project, specifically implementing a Prism for the Visitor::HashToString functionality. This enhancement aims to improve the way hash data is converted to string representations within the application. By utilizing a Prism, the code becomes more modular and maintainable, allowing for easier manipulation and transformation of hash data into string format.

Overall, this change enhances the flexibility and readability of the code, streamlining the process of handling hash-to-string conversions. It likely contributes to better performance and usability within the Rail Inspector framework, making it easier for developers to work with and understand hash data representations.

Files changed

2024-12-27T05:52:46 See commit

This commit adds documentation for the unless_exist option in the AS::Cache#write method. The update aims to clarify the functionality and usage of this option, which allows users to write a value to the cache only if the specified key does not already exist. By providing detailed explanations and examples, the documentation enhances user understanding and helps prevent potential misuse of the method.

Overall, the commit focuses on improving the clarity and accessibility of the caching functionality within the framework, ensuring that developers can effectively utilize the unless_exist option in their applications.

Files changed

2024-12-27T09:05:15 See commit

This commit introduces a check to verify the availability of a pinned connection before attempting to check it out. By implementing this validation, the code aims to enhance connection management and ensure that only active and usable connections are utilized, thereby improving the reliability and efficiency of the application.

The changes made in this commit likely involve adding conditional logic to assess the status of the pinned connection, preventing potential errors or issues that could arise from attempting to use a connection that is no longer valid. This proactive approach helps maintain the integrity of the connection handling process.

Files changed

2024-12-27T18:54:40 See commit

This commit addresses an issue related to the support of procedural symbols in callback conditionals, specifically fixing issue #54056. The update enhances the functionality of the code by allowing procedural symbols to be properly recognized and utilized within callback conditions, thereby improving the overall robustness and flexibility of the system.

The commit was co-authored by Jean Boussier, indicating collaborative efforts in resolving the issue. The changes made in this commit are expected to streamline the handling of callbacks, contributing to a more efficient and error-free implementation in the affected areas of the codebase.

Files changed

2024-12-28T13:12:28 See commit

This commit updates the project to utilize the released version of websocket-client-simple, addressing a previous issue that was initially tackled in pull request #26714 on the Rails repository. The author notes that the underlying problem has likely been resolved in Ruby itself, referencing a specific commit in the Ruby repository that indicates improvements made since then.

Additionally, the commit involves the removal of code that was specifically designed to handle warnings that were only relevant to Ruby versions 2.7 and earlier. This cleanup helps streamline the codebase and ensures compatibility with more recent Ruby versions, thereby enhancing overall maintainability and performance.

Files changed

2024-12-30T09:04:06 See commit

This commit addresses an issue with the String#mb_chars method in Rails, ensuring that it does not mutate the original string. The fix, linked to issue #54076, emphasizes the importance of maintaining the integrity of the input string by duplicating the argument whenever force_encoding is called, regardless of whether the string is frozen.

By implementing this change, the code now guarantees that the original string remains unchanged, thereby preventing unintended side effects that could arise from mutating the input. This enhancement contributes to more predictable behavior in string handling within the Rails framework.

Files changed

2024-12-30T10:02:08 See commit

This commit addresses an issue with the drop_table function, specifically when it is used to invert operations without any options provided. The fix ensures that the function behaves correctly in these scenarios, preventing potential errors or unintended behavior when dropping tables in the database. By refining the logic within the function, the commit enhances the overall stability and reliability of the database management process.

Additionally, the changes made in this commit may include updates to the handling of default parameters or adjustments to the conditional checks within the drop_table implementation. As a result, developers can now confidently utilize the function without needing to specify options, knowing that it will perform as expected.

Files changed