Skip to content

Releases: hyperstack-org/hyperstack

1.0alpha1.8

13 Apr 04:55
Compare
Choose a tag to compare

1.0alpha1.8 - 2021-04-05

Release
Date
Version Open
Issues
Documentation
Sections
Draft Ready
Documentation
Sections
WIP
April 12, 2021 1.0.alpha1.8 127 36 9
April 5, 2021 1.0.alpha1.7 147 35 10
March 29, 2021 1.0.alpha1.6 167 35 10

Open issues includes enhancements, documentation, and discussion issues as well as few bugs. Issues tagged for post launch are not included. Additional issues may be closed that are not documented below because of duplicates, documentation updates, and old issues previously closed.

The documentation WIP (work in progress) numbers are approx, as more sections may be added.

New Major Features

None

Breaking Changes

None

Security Fixes

None

Feature Added

  • #402 Class level initialize method will be called at boot for Observers
  • #401 Can call receives inside the singleton class.

Fixed

  • #403 Fixed: isomorphic method only worked before mounting

Not Reproducible

Deprecated

None

1.0alpha1.7

05 Apr 14:16
Compare
Choose a tag to compare

1.0alpha1.7 - 2021-04-05

Release
Date
Version Open
Issues
Documentation
Sections
Draft Ready
Documentation
Sections
WIP
April 5, 2021 1.0.alpha1.7 147 35 10
March 29, 2021 1.0.alpha1.6 167 35 10

Open issues includes enhancements, documentation, and discussion issues as well as few bugs. Additional issues
may be closed that are not documented below because of duplicates, documentation updates, and old issues previously closed.

The documentation WIP (work in progress) numbers are approx, as more sections may be added.

New Major Features

None

Breaking Changes

None

Security Fixes

None

Feature Added

  • #400 Relationship and Scope Collections will delegate to the Target model on method missing.
  • #116 ActiveRecord where implemented

Fixed

  • #399 Pluck now takes multiple keys
  • #396 Fixed: Rejected promises do not move operations to the failure track
  • #388 HyperModel and HyperOperation will load without ActiveRecord
  • #358 Fixed: (again) changing primary_key causes some failures
  • #322 Fixed: Could not return falsy value from an observe block
  • #127 Complex expressions work better in on_client (due to upgrade in Parser gem)
  • #123 public_columns_hash now thread safe.
  • #119 destroy now updates errors properly and will not mark the record as destroyed unless destroy was successful

Not Reproducible

  • #108 Can't repeat - possibly STI class != STI type field while data is loading
  • #47 Added spec - passing a proc for children works fine.

Deprecated

None

1.0.alpha1.6

29 Mar 15:10
Compare
Choose a tag to compare

1.0alpha1.6 - 2021-03-29

Release
Date
Version Open
Issues
Documentation
Sections
Draft Ready
Documentation
Sections
WIP
March 29, 2021 1.0.alpha1.6 167 35 10

Open issues includes enhancements, documentation, and discussion issues as well as few bugs.

The documentation WIP (work in progress) numbers are approx, as more sections may be added.

New Major Features

  • Now compatible with Opal 1.x and Rails 6.x: Tested with Opal ~>1.0 + Rails ~>5.0 and Rails ~>6.0, and Opal ~>0.11 and Rails ~>5.0.
  • You can run Hypermodel connections on Redis (instead of ActiveRecord). This gives about a 10% performance boost, and there will be even better performance as the Redis adapter is optimized.
  • The rails-hyperstack gem now includes a file hyperstack/server_side_auto_require that you may require from the hyperstack.rb initializer.
    This file will add the capability to Rails ActiveSupport Dependencies to automatically look for files in the matching main app sub directory when loaded first from the hyperstack directory. This allows you to leave serverside functionality in the main app subdirectories, and only include definitions relevant to the client side in the hyperstack directories. See #361 for more info. ATM requiring this file will set the Rails autoloader mode to :classic.
  • Complete rewrite of Hyperspec with much improved syntax and many new features including ability to use with any Rack application. See the docs for details. But don't worry its all backwards compatible with the old syntax.
  • Much more robust gem installer.

Breaking Changes

  • #350 Moved the server side after and every methods to an include module. You are only effected if you are using the after or every methods on the server.
  • You may encounter some breakage due to configuration changes. Rails and the JS world have changed a lot recently, and its hard to insure that the new Gems will work correctly in all situations without some adjustment to your configuration. Please report any issues that you encounter.

Security

  • #205 Now filters ServerOp params from log files.

Added

  • #379 If operation dispatch raises an error the operation now fails
  • #376 Control Arity Check From HyperSpec
  • #372 More flexibility with render block return values
  • #365 Added ActiveRecord increment! and decrement! methods
  • #364 Added ActiveRecord has_and_belongs_to_many to HyperModel
  • #356 Added json and jsonb ActiveRecord attribute types
  • #353 Allow for empty policy...to(...) call
  • #322 Correctly pass back the return value from observer block
  • #306 Relaxed libV8 dependency and removed where possible
  • #280 Better error messages for active record failures
  • #220 Added shims for browsers not supporting ECMA 6.0 classes
  • #218 on: create hooks now run BEFORE create not after
  • #158 HyperComponent multiple value and FRAGMENT returns

Fixed

  • #380 Specs now running with Opal arity_checking enabled
  • #375 Scopes could get out of sync
  • #370 Fixed deprecation message during hyperstack:install
  • #369 hyperstack:install now adds javascripts link to manifest.js file
  • #368 hyperstack:install now checks for webpacker gem
  • #358 Incoming broadcast messages were not working if primary key was not :id
  • #354 Correctly set react variant in production
  • #347 Fixed Rails generator and React import misleading comments
  • #326 No longer raises Rails previous_changes behavior deprecation notices
  • #325 Schema default value conversion now supports strings
  • #275 Fixed issue with reflects on associations of sibling STI class
  • #269 Fixed: TypeError raised when prerendering.
  • #215 Collection any? method now accepts args.
  • #184 ActiveRecord::Base.find([1,2,3]) returns mutiple records same as AR
  • #162 Prevent footer from rendering multiple times on the same page (performance issue)

Deprecated

  • #374 Support for React 15 Dropped
  • #373 componentWillMount and friends deprecated from React

1.0.alpha1.5

19 Jun 22:01
Compare
Choose a tag to compare

1.0alpha1.5 - 2019-06-19

Security

  • #165 Secure access to composed_of relationships.

Added

  • #114 Add Polymorphic Models
  • #186 Allow components to override built-in event names (i.e. fires :click)
  • #185 Allow import of es6 modules that have a single component
  • #183 Add new Rails 6 active support methods: extract! and index_with
  • #180 sleep now returns a promise so it works nicely with Operations
  • #176 The render callback is now optional. See issue for details.
  • #168 Allow custom headers in ServerOps
  • #160 Allows for dynamically attaching events: .on(false || nil) is ignored.
  • #159 Hyperstack.connect behaves nicely if passed a dummy value.
  • #148 Rails installer works with existing Rails apps.
  • #146 Allow ActiveModel attribute methods to be overridden.

Fixed

  • #196 The empty? method no longer forces fetch of entire collection
  • #195 UI will not update until after all relationships of a destroyed record are completely updated.
  • #194 Fetching STI models via scope and finder will now return the same backing record.
  • #193 Allow the super method in hyper-spec examples.
  • #192 Dummy values will be initialized with schema default value.
  • #191 Fixed incompatibility between the Router and Legacy style param method.
  • #181 Fixed nested class component lookup.
  • #179 Once an operation moves to the failed track it now stays on the failed track.
  • #178 Resetting system now correctly reinitializes all variables.
  • #173 Both sides of a relationship can be new and will get saved properly.
  • #170 HyperSpec pause method working again.
  • #169 Fixes to ActiveRecord model equality test.
  • #166 Allow Element#dom_node to work with native components.
  • #164 Insure state change notification when scopes change remotely.
  • #163 Ignore hotloader and hotloader errors during prerendering.
  • #154 Stop raising deprecation notices when using imports directive.
  • #153 .to_n working properly on Component classes.
  • #144 Timeout if connection between console and server fails.
  • #143 Errors#full_messages working properly.
  • #138 Count of has_many :through relations working properly
  • #126 Scopes no longer returning extra DummyValue.
  • #125 Belongs-to relationships on new records will react to updates to the relationship.
  • #120 ActiveRecord::Base.new? renamed to new_record? (you can still use new? or override it)

1.0.alpha1.4

16 Feb 18:01
Compare
Choose a tag to compare

1.4alpha - 2019-02-15

Security

  • #117 Finder methods will return nil instead of raising access violations.

Added

  • #120 Alias ActiveRecord::Base#new_record? to #new?.
  • #111 Add #ref method to Element class
  • #112 Add :init param to INPUT, SELECT, and TEXTAREA tags.

Fixed

  • #128 Hyperspec improperly parses block parameters
  • #113 Can't use finder methods on a scope
  • #110 Mutate is executing AFTER render cycle completes causing issues with controlled inputs

0.99.6

30 Jan 19:50
Compare
Choose a tag to compare

Backports the delayed updating fix from latest hyperstack

1.0.alpha1.3

17 Jan 07:23
Compare
Choose a tag to compare

1.3alpha - 2019-01-16

Security

  • #102 Security hole in find_record method filled.

Added

  • #62 set_jq method to capture element ref as a jQuery object
  • #70 New syntax and implementation for "while loading".
  • #72 Event handlers (i.e. on(:click)) can be specified at the component class level.
  • #73 before_render (runs before mounting & before updating) and after_render (runs after_mounting & after_updating)
  • #74 Alternative param_accessor_style :accessors option: Creates an instance method for each param. I.e. param :foo will add a foo method to the component.
  • #77 Ruby like rescues component call back. Define error handling at the component level - uses react error boundries under the hood.
  • #85 Add pluralize method to component. Works like Rails pluralize view helper.
  • #89 Automatically create ActiveRecord inverse relationships as needed. Previously both sides of the relationship had to be declared.
  • #90 Automatically load config/initializers/inflections.rb if present
  • #99 Better diagnostics for server access violations and other errors
  • #94 Hyperstack.anti_csrf_token returns the stack specific anti_csrf_token.

Changed

  • #62 jQuery now accessed by global jQ method (replacing DOM class)
  • #68 Renamed before_receives_props to before_new_params
  • #91 Rename triggers to fires

Deprecated

  • #70 Deprecated original while_loading method in favor of the WhileLoading mixin.

Fixed

  • #106 updated unparser, mini-racer and libv8 versions
  • #76 Regression: Hotloader was not remounting lifecycle hooks.
  • #59 Component built in event names (i.e. click) were not working with triggers (aka fires) macro.
  • #63 Could not pass a component class as a param.
  • #64 Router's render method would not accept a simple string.
  • #65 observe and mutate Observer methods were returning nil.
  • #67 Hyper Model: while_loading was not working with loading scopes. This is is also working properly with the new WhileLoading mixin.
  • #75 Router redirect was not working in prerendering.
  • #78 Hyper Model: client scope optimization was not working if all scope is dummy or unknown.
  • #79 Hyper Model: count of scope was unnecessarily replaced with a dummy "1".
  • #81 Hyper Model: Comparing a unloaded scope with a loaded empty scope was returning TRUE
  • #82 Hyper Model: Loading a parent scope was not triggering client side scoping of children
  • #88 Models were not using pluralize when computing inverse names
  • #97 Policies were not guaranteed to load in non-server environments (i.e. rake tasks.)
  • #98 Could not use regulate_class_connection outside of policy classes.
  • #101 Hyper Operation validation errors were not reported to client properly
  • #105 Hyper Model records were not persisted in the order created

0.99.5

10 Jan 14:05
Compare
Choose a tag to compare

Fixes non-persisted child associations sometimes reconstructing out of order in server methods

0.99.4

19 Dec 14:04
Compare
Choose a tag to compare

Updates mini_racer/libv8 to latest versions

closes 4 issues against alpha 1.1 release

16 Nov 07:15
Compare
Choose a tag to compare

Migrating:

  • Add gem "hyper-store", "1.0.alpha1.2" (if still migrating from legacy)
  • Add gem "hyper-spec", "1.0.alpha1.2" (if needed)

Closed Issues:

  • Add a toggle method to observables #61
  • Using built in event names in components does not work with triggers macro #59
  • HyperComponent class not inheriting correctly #60
  • param :class should automatically translate to param :className alias: :Class#58

See https://github.com/hyperstack-org/hyperstack/releases/tag/v1.0.alpha1.1 for details on upgrading from legacy Hyperloop applications.