Skip to content

Releases: infinitered/rmq

Version 1.1.0

23 Jan 19:37
Compare
Choose a tag to compare

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_build
  • st.padded = ... - use frame hash
  • app_width in stylesheet- use device_width or screen_width
  • app_height in stylesheet - use device_height or screen_height
  • screen_size in stylesheet
  • weak_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

23 Jan 19:16
Compare
Choose a tag to compare

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

17 Nov 23:16
Compare
Choose a tag to compare

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 and reapply_styles runs all styles in order. Added has_style? and styles 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

03 Oct 05:57
Compare
Choose a tag to compare

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, and screen_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?, and rmq.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 and device.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

13 Sep 06:17
Compare
Choose a tag to compare

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 or some_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

12 Aug 16:01
Compare
Choose a tag to compare

Validations

bundle update ruby_motion_query

Validations were created by @GantMan, with the help of @squidpunch

New features

Version 0.6.1

02 Jul 01:51
Compare
Choose a tag to compare

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

20 Jun 04:43
Compare
Choose a tag to compare

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 website here

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

23 May 05:53
Compare
Choose a tag to compare

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

26 Apr 02:43
Compare
Choose a tag to compare

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