Releases: infinitered/rmq
Version 1.1.0
Note: the 1.0.0 release is messed up, it actually has the same code as 1.1.0. I'm creating this tag to get us back on track
Version 1.1.0
Some deprecations were removed, others now give warnings and will be removed in a later release
Deprecations removed:
rmq_did_create
- use rmq_buildst.padded = ...
- use frame hashapp_width
in stylesheet- use device_width or screen_widthapp_height
in stylesheet - use device_height or screen_heightscreen_size
in stylesheetweak_ref_is_same_object
- This hasn't been needed since RM 2.17
New
- Added UISwitch to work with .data and .data()
- Allows validation of upper case email addresses
- Allow setting keyboard_type, return_key_type, spell check, and border style with symbols
- Allow setting a view transform manually in UIView styler.
- More tests added; now 607 specifications (1733 requirements)
- Added deprecation warnings
- Added styler for separator_inset
- Added rmq.device.log - For quickly seeing what common values are for the device you're on
- Added row_height styler
- Added text_highlighted styler
Bugs fixed
- #165 - Distribute margin with multiple selected objects
bundle update ruby_motion_query
Version 1.0.0
After a year and a half, 21 releases, 554 commits by 23 contributors, 1708 requirements in specs, RMQ is finally at 1.0.0.
Deprecations will be removed in 1.1.0. I'm giving you one last chance.
bundle update ruby_motion_query
People who worked on this version: @squidpunch, @GantMan, @twerth, @vaughankg, and @markrickert
New
- New cool color system, look at docs for basics: http://rubymotionquery.com/documentation/#post-105. The old one works exactly the same
- rmq.debug.colorize
- rmq.app.short_version (to go along with rmq.app.version)
- Updated table template to make it simpler, no need for an extra stylesheet for the view, it just makes it overly complicated
- Supports setting relative frames when a previous element does not exist. below_prev & above_prev should set set their frames relative to y=0 and right_of_prev & left_of_prev should use x=0 as their starting point when no previous element exists
- added .ios_at_least? to rmq.app
- Added rmq.app.windows that returns the windows array
- Added prefab date and time styles to RMQ::Format.date
Plugins
RMQ has a plugin system, here are 2 examples:
And a template for creating your own:
Bug fixes
- Fixed problem where rmq inside a stylesheet couldn't select views from the root_view. This bug sucked. If you couldn't select a view in a stylesheet, this is why. Sorry about that
- Changed current_view_controller to accommodate ProMotion-menu
- Fixed grid spec failures in RM 3.0/64bit
- Removed motion_print in gem file, requiring it was a mistake. To be clear, you should use motion_print, but RMQ doesn't require it
v1.0.0: Merge pull request #173 from infinitered/fix_demo_app
THIS IS NOT THE 1.0.0 Release, unfortunately I didn't tag the 1.0 release. This is actually 1.0.0 and 1.1.0 combined. I'm going to create a new 1.1.0 release that replaces this.
Version 0.9.0
New features, multiple styles, other misc
bundle update ruby_motion_query
People who worked on this version: @squidpunch, @GantMan, @twerth, @kemiller, @vaughankg, and @markrickert
This is the final release before 1.0. Once it's in the wild for a while, we'll move it to 1.0 and remove deprecation.
New
- Multiple styles can be applied at once with
apply_style
andreapply_styles
runs all styles in order. Addedhas_style?
andstyles
accordingly. - Added stylers on UITextView, UIControl, UITableViewCell
- Validation - valid/invalid array is now unique, even if you have multiple validations.
- Short syntax (t,b,l,r) added to resource_resizable
- Advanced array access (multi-argument, range, negative indicies) on RMQ selected.
- Allow animated spinner to be centered.
- Examples/Readme updates for XCode and typos.
- Removed defunct methods/variables (like
.ios_eight?
) - Numerous updated and stable tests added! (47 specs and 222 requirements added)
Version 0.8.0
New features, landscape done right, and RMQ plugins.
bundle update ruby_motion_query
People who worked on this version: @twerth, @GantMan, @squidpunch, and @mwise
New features
- Automatically enable user interaction when an event is added
app_width
,app_height
,screen_width
, andscreen_height
are now calculated by RMQ, not the SDK (as the SDK just changed this in iOS8 and broke everything, bad SDK, bad)- Added
rmq.device.three_point_five_inch?
,rmq.device.four_point_seven_inch?
, andrmq.device.five_point_five_inch?
- Added alpha styler for UIViews
- Adds styler for text color in highlighted state
- Added some additional stylers for UITextView including all UIScrollViewStyler stylers
- Added support for finding controllers with frontViewController methods that specify their "main" controller
- Added
color=
alias to ui_text_view styler - Default clipToBounds true if
corner_radius
give - Neato iOS version detection:
rmq.device.ios_version
rmq.device.is_version? 8
rmq.device.is_version? "7.1"
rmq.device.is_version? "8.0"
New landscape features
RMQ's support for landscape use to be "meh". v0.8.0 has pretty great support now. A lot of little enhancements went into this version for landscape. If you add willChangeStatusBarOrientation to your app_delegate (see below), everything should work well automatically.
- Added
device.height_landscape
anddevice.width_landscape
- Grid now automatically supports landscape. Of course you can still assign a new grid for landscape, but now you don't have to do that or clear the cache just for an orientation change
- You can now set the orientation that RMQ uses everywhere (to :landscape normally). So you can tell RMQ what the orientation will be, not what it is. Add this to your app_delegate to do this automatically:
def application(application, willChangeStatusBarOrientation: new_orientation, duration: duration)
# Manually set RMQ's orientation before the device is actually oriented
# So that we can do stuff like style views before the rotation begins
rmq.device.orientation = new_orientation
end
New plugin features
Plugins are coming to RMQ, one already exists (although it's not 100% yet) https://github.com/infinitered/rmq-slide-over-control. RMQ v0.8.0 adds some important features for plugins. The next version will add many more and we'll make some more plugins to highlight all the things one can build for RMQ.
- Added the ability for a custom view to define its own styler. This is especially useful for upcoming RMQ plugins.
rmq_styler
is the method. - Added
rmq_style_applied
method for your custom views, it gets called anytime RMQ styles your view
Bug fixes
- Fixed a bug where a view would have rmq_build called multiple times if it was added as a subview, removed, then added again. Ack.
- Changed UITextViewStyler to inherit from UIScrollViewStyler, which it should have done already. This may break your code if you have a UITextViewStyler in your app, just change the super class to UIScrollViewStyler
- Fixed a problem where you could not set .data to nil. This rmq(my_view).data(nil) was equivalent to rmq(my_view).data and it shouldn't have been. Now the first one sets the view's data to nil and the second one returns the view's data
- Fixed data assigning to UITextView and UITextField in SDK 8.x
- Clarified where superview size comes from (it's bounds)
- Check for nil on super_width and super_height
- Fixed bug when styling with :full and the view didn't have a superview
- Fixed minor bug in Rect
Version 0.7.1
New validation features and misc
bundle update ruby_motion_query
Read the updated validation documentation here.
New features
- Added
white_list
ability to all validation rules - Added
custom
validation rule which takes a regex param - Added
add_validator
for easy access to add your own named validation methods and you can make them as complex as you'd like (not limited to regex, uses opts etc.) - Show a grid overlay.
rmq.app.grid.show
orsome_grid.show
- Added
attributed_text
styler to UILabel - Added
line_break_mode
styler to UILabel
Bug fixes
- Changed email regex pattern
- Fixed "Uninitialized constant RubyMotionQuery::Event::ValidationEvent" bug
Version 0.7.0
Validations
bundle update ruby_motion_query
Validations were created by @GantMan, with the help of @squidpunch
New features
- Validations. Like so: rmq.append(UITextField, :weight).validates(:digits). See http://rubymotionquery.com/document/validation-with-rmq/ for more info
- slide_in animation
- set .data with =
- before block on animations
Version 0.6.1
You'll want to update your gem and in your bundles
gem update ruby_motion_query
# Then in your app
bundle update ruby_motion_query
Thanks to all the contributors in this release: @twerth, @GantMan, @squidpunch, and @markrickert
New features
- This may break your code! - Changed
before_prev
,right_of_prev
, etc to refer to previous sibling, not the previous view that was laid out. This both makes more sense and solves some logic problems that came up in real-world use - Gant Laborde has started Validation features. The first part is in this release, which is a validation utility. More advanced Validations is coming.
rmq.validation.valid?('taco loco', :digits) == false
. See class Validation - Added
rmq docs your_query
feature to rmq command in console, which searches the docs in your browser - Styler for UIProgressView
Bug fixes
- Fixed error when
app.detect_dependencies
was set to false - Fixed tests to use new frame features
Version 0.6.0
This is a major release
You'll want to update your gem and in your bundles
gem update ruby_motion_query
# Then in your app
bundle update ruby_motion_query
Thanks to all the contributors in this release: @twerth, @GantMan, @thinkclay, @alex-ross, @squidpunch, and @kemiller
New documentation and website
New features
- Rect and frame system - see new docs
- Grid system - see new docs
- Inspector - rmq.all.inspector in repl
- Added simple block to .animate
- .data - rmq(UITextField).data or rmq(UITextField).data('foo'). .data is the most common data attribute on each type
- has_tag? at rmq level - rmq(my_view).has_tag?(:foo)
- weak_ref_value utilities
- image_edge_insets for UIButton styler
- styler for accessibility_label
Deprecation
- st.padded
- st.left
- st.x
- st.top
- st.y
- st.width
- st.height
- st.bottom
- st.from_bottom
- st.right
- st.from_right
- st.centered
Bug fixes
- Fixed is_class?
- Fixed send action - should only call method on views that support it
- Misc bug fixes and many more tests
Version 0.5.8
This is the last release before v.0.6.0 which will be a major upgrade.
Thanks to all the contributors in this release: @twerth, @squidpunch, @skellock, @shreeve, and @GantMan
Important
- Significant change, this could break your code: Before when you appended, created, or built a view using RMQ it would apply the style you specified in the append command, then call the rmq_build method in the view. This was a bug which I totally missed. I changed it so that it calls rmq_build, then applies the style. This way you can style the view in its own stylesheet, then override it in the controller's stylesheet.
New features
- block to .animate to simplify simple animation.
rmq(my_view).animate{|q| q.move(l: 10)}
- append!, create!, prepend!, and unshift! methods. If you don't need to chain, instead of doing this:
@name = rmq.append(UILabel, :name).get
, you can do this@name = rmq.append! UILabel, :name
- swipe_up, swipe_down, swipe_left, and swipe_right to gestures.
- overriding options for animations
- absolute_frame to UIView styler, sets the frame relative to the window
- styler for button title insets
- added some documentation
Undeprecation
- Undeprecated weak_ref stuff. (WeakRef still doesn't work as needed).
RubyMotionQuery::Utils.weak_ref(object_here)
makes WeakRef usable by libraries (I should make this its own gem)
Bug fixes
- Fixed some issues with templates (specifically collection view, and view)
- Fixed distribute :horizontal
- Misc bug fixes and more tests
Version 0.5.7
The release is a ton of little things. Various people contributed to this release: @twerth, @GantMan, @mattsgarrison, and @malkomalko. Thanks all.
- Deprecated weak_ref_to_strong_ref. RM 2.24 made this unnecessary
- Various bug fixes (of course, might as well say water is wet).
- Fixed bug where rmq would be attached to the wrong controller when using something like ECSlidingViewController
- Fixed bug where rmq in stylesheet wasn't wrapping views correctly
- Updated readme, clarifying a few things people are generally confused about
- Additions to stylers (UIPageControl, UITextView, etc)
- Allow from_right: 10 and from_bottom: 20 in the hash when setting a frame or in layout
- Added 2 new animations: sink_and_throb, and land_and_sink_and_throb
- Allow you to set the :table_style, when .append or .create a UITableView (UITableViewStyleGrouped)
- Fixed issue where rmq.create wouldn't grab the latest template from github
Do both (you need the updated gem (outside of bundler) because of the console rmq command being updated):
- gem update ruby_motion_query
- bundle update ruby_motiong_query