We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
rails changelog
Welcome to the latest update! We've got some fantastic improvements and new features that will make your Rails experience even smoother and more powerful. Let's dive into the details! 🎉
-
New Feature: Tag-Based Note Filtering 🏷️
Now you can filter notes by tags like "FIXME," "TODO," and "OPTIMIZE" using a handy dropdown in the/rails/info/notessection. This makes it super easy to find the notes you need and streamline your workflow! -
Improvement: Per-Attribute Unencrypted Data Support 🔒
Flexibility just got a boost! You can now enablesupport_unencrypted_datafor specific attributes, even if it's turned off globally. This gives you more control over your data management without messing with the overall encryption settings. -
Improvement: Association Lookup for Allocated Records 🔍
Allocated Active Record objects can now perform association lookups without crashing! This change is especially helpful when using test frameworks like Mocha, ensuring smooth sailing during your testing adventures. -
Improvement: Refactor
valid_type?Method 🔧
Thevalid_type?method inAbstractAdapteris now a class method, allowing type validation without needing a live connection. This makes checking column types more efficient and keeps things running smoothly. -
Bugfix: Autoload for
ActionView::StrictLocalsError🐛
We've fixed the missing autoload forActionView::StrictLocalsError, ensuring that your app runs without hiccups when using strict locals in views. Say goodbye to unexpected runtime errors! -
Bugfix: Typo Correction in Performance Guide ✍️
A pesky typo in the "Tuning Performance for Deployment" guide has been squashed, making the document clearer and more professional. -
Chore: Minor Update to Routing Documentation 📚
Added a missing 'be' in therouting.mdfile for better clarity. Because every word counts in making documentation top-notch!
We hope these updates make your Rails journey even more enjoyable. Happy coding! 🚀
Included Commits
The commit updates the routing.md file by adding a missing word, specifically 'be'. This minor edit enhances the clarity and completeness of the document, ensuring that the intended message is accurately conveyed. Such attention to detail contributes to better documentation quality, facilitating easier understanding for users referencing the routing guidelines.
Files changed
This commit refactors the valid_type? method in the AbstractAdapter class by converting it from an instance method to a class method. The change is made because valid_type? only requires access to a constant and does not necessitate a live connection to function. As a result, this modification allows for type validation without needing to establish a database connection, enhancing the efficiency of the code.
Additionally, the commit maintains backward compatibility by preserving the instance methods #valid_type? and #native_database_types, which now delegate their functionality to the newly implemented class methods of the same name. This ensures that all concrete adapters implement the class method .native_database_types, allowing the code to check column types without requiring a connection. The specific changes are reflected in the railties/lib/rails/generators/generated_attribute.rb file, where minor modifications were made to support this new structure.
Files changed
- railties/lib/rails/generators/generated_attribute.rb
This commit introduces a new feature that allows users to filter notes in the /rails/info/notes section by specific tags. The filtering options include common annotations such as "FIXME," "TODO," and "OPTIMIZE," which can be selected via a dropdown box.
The implementation enhances the usability of the notes feature by enabling developers to quickly locate relevant annotations, improving overall workflow and efficiency in managing code comments.
Files changed
This commit introduces a significant enhancement to the encryption feature in ActiveRecord by allowing the support_unencrypted_data configuration to be set at a per-attribute level. Previously, the global setting had to be enabled for unencrypted data support, which limited flexibility. Now, developers can opt to enable unencrypted data support for specific attributes even when the global configuration is set to false. This provides greater control over how data is managed and accessed, accommodating various use cases without altering the overall encryption settings.
The changes include updates to the ActiveRecord encryption module and tests to ensure that the new functionality works as intended. The commit also clarifies the behavior of the support_unencrypted_data option, detailing how it can be used in different scenarios. With this update, developers can more easily manage encrypted and unencrypted data within their applications, enhancing the overall usability of the encryption features in ActiveRecord.
Files changed
- activerecord/CHANGELOG.md
- activerecord/lib/active_record/encryption/encryptable_record.rb
- activerecord/lib/active_record/encryption/encrypted_attribute_type.rb
- activerecord/test/cases/encryption/extended_deterministic_queries_test.rb
This commit introduces a significant enhancement to Active Record by allowing allocated record objects to perform association lookups without crashing. Previously, allocated records lacked a properly set up association cache, which resulted in errors during association lookups, particularly when using test frameworks like Mocha that utilize the allocate method for stubbing instance methods. The change ensures that the association cache is initialized correctly, enabling these lookups to function smoothly.
The update includes modifications to the association handling code, specifically by initializing the association cache when an allocated record is created. Additionally, a new test case has been added to verify that allocated records can successfully access their associations. Overall, this change improves the robustness of Active Record's association functionality and enhances compatibility with testing frameworks.
Files changed
- activerecord/CHANGELOG.md
- activerecord/lib/active_record/associations.rb
- activerecord/test/cases/associations_test.rb
The commit addresses a typographical error in the "Tuning Performance for Deployment" guide. This correction ensures that the document maintains a professional standard and enhances clarity for readers. By fixing the typo, the commit contributes to the overall quality and accuracy of the guide, making it more user-friendly for those seeking to optimize performance during deployment.
Files changed
This commit addresses an issue related to the missing autoload for the ActionView::StrictLocalsError class in the Rails framework. By ensuring that this error class is properly autoloaded, the commit aims to enhance the robustness of the Action View component, preventing potential runtime errors when strict local variables are enforced in views.
The changes made in this commit are likely aimed at improving developer experience and ensuring that the application behaves as expected when using strict locals in Action View templates. This fix is an important step in maintaining the reliability and consistency of error handling within the framework.