Releases: hyperstack-org/hyperstack
1.0alpha1.8
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
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
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 filehyperstack/server_side_auto_require
that you may require from thehyperstack.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 thehyperstack
directory. This allows you to leave serverside functionality in the main app subdirectories, and only include definitions relevant to the client side in thehyperstack
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
andevery
methods to an include module. You are only effected if you are using theafter
orevery
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!
anddecrement!
methods - #364 Added ActiveRecord
has_and_belongs_to_many
to HyperModel - #356 Added
json
andjsonb
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
1.0.alpha1.5
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!
andindex_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
ServerOp
s - #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 tonew_record?
(you can still usenew?
or override it)
1.0.alpha1.4
0.99.6
Backports the delayed updating fix from latest hyperstack
1.0.alpha1.3
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) andafter_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 afoo
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 Railspluralize
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 (replacingDOM
class) - #68 Renamed
before_receives_props
tobefore_new_params
- #91 Rename
triggers
tofires
Deprecated
- #70 Deprecated original
while_loading
method in favor of theWhileLoading
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 withtriggers
(akafires
) macro. - #63 Could not pass a component class as a param.
- #64 Router's render method would not accept a simple string.
- #65
observe
andmutate
Observer methods were returning nil. - #67 Hyper Model:
while_loading
was not working with loading scopes. This is is also working properly with the newWhileLoading
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
Fixes non-persisted child associations sometimes reconstructing out of order in server methods
0.99.4
Updates mini_racer/libv8 to latest versions
closes 4 issues against alpha 1.1 release
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 toparam :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.