Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework) version
0.4.0 has been released!
GitHub Project : https://github.com/AndyObtiva/glimmer-dsl-web
Ruby Gem : https://rubygems.org/gems/glimmer-dsl-web
# Change Log
## 0.4.0
- Support `style {}` block in `Glimmer::Web::Component` that would
automatically add style in one place for all component instances
- Hello, Style! Sample: `require
'glimmer-dsl-web/samples/hello/hello_style'`
- Upgrade to Glimmer DSL for CSS 1.5.0
- Remove support for including multiple `before_render` and `after_render`
blocks in a component as it is not needed and can be confusing
- Optimize performance of Todo MVC by not adding an edit input field to
every todo, yet adding it only upon editing a todo.
- Fix issue with `ElementProxy#add_css_class` and
`ElementProxy#remove_css_class` crashing if called before rendering an
element
- Fix issue with Hello, Observer (Data-Binding)! crashing if run after
Hello, Observer! due to both samples sharing the same class by mistake
minitest-bacon version 1.0.4 has been released!
* home: <https://github.com/seattlerb/minitest-bacon>
* rdoc: <http://docs.seattlerb.org/minitest-bacon>
minitest-bacon extends minitest with bacon-like functionality. It
should allow you to bridge 90+% of your bacon specs over to minitest.
Changes:
### 1.0.4 / 2024-07-12
* 1 bug fix:
* Fixed usage of frozen string literals.
graph version 2.11.1 has been released!
* home: <https://github.com/seattlerb/graph>
Graph is a type of hash that outputs in graphviz's dot format. It
comes with a command-line interface that is easily pluggable.
It ships with plugins to graph dependencies and status of installed
rubygems, rake tasks, homebrew ports, mac ports, and freebsd ports,
coloring leaf nodes blue, outdated nodes red, and outdated leaf nodes
purple (red+blue).
OSX quick tip:
% sudo gem install graph --development
% sudo brew install graphviz
% gem unpack graph
% cd graph*
% rake gallery
% open gallery/*.png
Changes:
### 2.11.1 / 2024-07-12
* 1 bug fix:
* Fix errors created when string literals are frozen.
path_expander version 1.1.2 has been released!
* home: <https://github.com/seattlerb/path_expander>
* rdoc: <http://docs.seattlerb.org/path_expander>
PathExpander helps pre-process command-line arguments expanding
directories into their constituent files. It further helps by
providing additional mechanisms to make specifying subsets easier
with path subtraction and allowing for command-line arguments to be
saved in a file.
NOTE: this is NOT an options processor. It is a path processor
(basically everything else besides options). It does provide a
mechanism for pre-filtering cmdline options, but not with the intent
of actually processing them in PathExpander. Use OptionParser to
deal with options either before or after passing ARGV through
PathExpander.
Changes:
### 1.1.2 / 2024-07-11
* 1 bug fix:
* Normalize './' off the front of all paths so options like '.' and '-test' work together better
httpx 1.3.0 has been released.
```
HTTPX.get("https://gitlab.com/honeyryderchuck/httpx
<https://gitlab.com/honeyryderchuck/httpx>")
```
HTTPX is an HTTP client library for the Ruby programming language.
Among its features, it supports:
* HTTP/2 and HTTP/1.x protocol versions
* Concurrent requests by default
* Simple and chainable API
* Proxy Support (HTTP(S), CONNECT tunnel, Socks4/4a/5)
* Simple Timeout System
* Lightweight by default (require what you need)
And also:
* Compression (gzip, deflate, brotli)
* Streaming Requests
* Authentication (Basic Auth, Digest Auth, AWS Sigv4)
* Expect 100-continue
* Multipart Requests
* Cookies
* HTTP/2 Server Push
* H2C Upgrade
* Automatic follow redirects
* International Domain Names
* GRPC
* Circuit breaker
* WebDAV
* SSRF Filter
* Datadog integration
* Faraday integration
* Webmock integration
* Sentry integration
Here are the updates since the last release:
# 1.3.0
## Dependencies
`http-2` v1.0.0 is replacing `http-2-next` as the HTTP/2 parser.
`http-2-next` was forked from `http-2` 5 years ago; its improvements have
been merged back to `http-2` recently though, so `http-2-next` willl
therefore no longer be maintained.
## Improvements
Request-specific options (`:params`, `:form`, `:json` and `:xml`) are now
separately kept by the request, which allows them to share
`HTTPX::Options`, and reduce the number of copying / allocations.
This means that `HTTPX::Options` will throw an error if you initialize an
object which such keys; this should not happen, as this class is considered
internal and you should not be using it directly.
## Fixes
* support for the `datadog` gem v2.0.0 in its adapter has been unblocked,
now that the gem has been released.
* loading the `:cookies` plugin was making the `Session#build_request`
private.
# 1.2.6
## Improvements
* `native` resolver: when timing out on DNS query for an alias, retry the
DNS query for the alias (instead of the original hostname).
## Bugfixes
* `faraday` adapter: set `env` options on the request object, so they are
available in the request object when yielded.
* `follow_redirects` plugin: remove body-related headers (`content-length`,
`content-type`) on POST-to-GET redirects.
* `follow_redirects` plugin: maintain verb (and body) of original request
when the response status code is 307.
* `native` resolver: when timing out on TCP-based name resolution,
downgrade to UDP before retrying.
* `rate_limiter` plugin: do not try fetching the retry-after of error
responses.
# 1.2.5
## Bugfixes
* fix for usage of correct `last-modified` header in `response_cache`
plugin.
* fix usage of decoding helper methods (i.e. `response.json`) with
`response_cache` plugin.
* `stream` plugin: reverted back to yielding buffered payloads for streamed
responses (broke `down` integration)
# 1.2.4
## Bugfixes
* fixed issue related to inability to buffer payload to error responses
(which may happen on certain error handling situations).
* fixed recovery from a lost persistent connection leaving process due to
ping being sent while still marked as inactive.
* fixed datadog integration, which was not generating new spans on retried
requests (when `:retries` plugin is enabled).
* fixed splitting strings into key value pairs in cases where the value
would contain a "=", such as in certain base64 payloads.
# 1.2.3
## Improvements
* `:retries` plugin: allow `:max_retries` set to 0 (allows for a soft
disable of retries when using the faraday adapter).
## Bugfixes
* `:oauth` plugin: fix for default auth method being ignored when setting
grant type and scope as options only.
* ensure happy eyeballs-initiated cloned connections also set session
callbacks (caused issues when server would respond with a 421 response, an
event requiring a valid internal callback).
* native resolver cleanly transitions from tcp to udp after truncated DNS
query (causing issues on follow-up CNAME resolution).
* elapsing timeouts now guard against mutation of callbacks while looping
(prevents skipping callbacks in situations where a previous one would
remove itself from the collection).
## Chore
* datadog adapter: do not call `.lazy` on options (avoids deprecation
warning, to be removed in ddtrace 2.0)
# 1.2.2
## Bugfixes
* only raise "unknown option" error when option is not supported, not
anymore when error happens in the setup of a support option.
* usage of `HTTPX::Session#wrap` within a thread with other sessions using
the `:persistent` plugin won't inadvertedly terminate its open connections.
* terminate connections on `IOError` (`SocketError` does not cover them).
* terminate connections on HTTP/2 protocol and handshake errors, which
happen during establishment or termination of a HTTP/2 connection (they
were being previously kept around, although they'd irrecoverable).
* `:oauth` plugin: fixing check preventing the OAuth metadata server
integration path to be exercised.
* fix instantiation of the options headers object with the wrong headers
class.
# 1.2.1
## Bugfixes
* DoH resolver: try resolving other candidates on "domain not found" error
(same behaviour as with native resolver).
* Allow HTTP/2 connections to exit cleanly when TLS session gets corrupted
and termination handshake can't be performed.
ruby_parser version 3.21.1 has been released!
* home: <https://github.com/seattlerb/ruby_parser>
* bugs: <https://github.com/seattlerb/ruby_parser/issues>
* rdoc: <http://docs.seattlerb.org/ruby_parser>
ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
racc--which does by default use a C extension). It outputs
s-expressions which can be manipulated and converted back to ruby via
the ruby2ruby gem.
As an example:
def conditional1 arg1
return 1 if arg1 == 0
return 0
end
becomes:
s(:defn, :conditional1, s(:args, :arg1),
s(:if,
s(:call, s(:lvar, :arg1), :==, s(:lit, 0)),
s(:return, s(:lit, 1)),
nil),
s(:return, s(:lit, 0)))
Tested against 801,039 files from the latest of all rubygems (as of 2013-05):
* 1.8 parser is at 99.9739% accuracy, 3.651 sigma
* 1.9 parser is at 99.9940% accuracy, 4.013 sigma
* 2.0 parser is at 99.9939% accuracy, 4.008 sigma
* 2.6 parser is at 99.9972% accuracy, 4.191 sigma
* 3.0 parser has a 100% parse rate.
* Tested against 2,672,412 unique ruby files across 167k gems.
* As do all the others now, basically.
Changes:
### 3.21.1 / 2024-07-09
* 1 bug fix:
* Fix errors created when string literals are frozen.
sexp_processor version 4.17.2 has been released!
* home: <https://github.com/seattlerb/sexp_processor>
* rdoc: <http://docs.seattlerb.org/sexp_processor>
sexp_processor branches from ParseTree bringing all the generic sexp
processing tools with it. Sexp, SexpProcessor, Environment, etc... all
for your language processing pleasure.
Changes:
### 4.17.2 / 2024-07-09
* 1 bug fix:
* Fix errors created when string literals are frozen (in 2.7 only??).
ruby2ruby version 2.5.1 has been released!
* home: <https://github.com/seattlerb/ruby2ruby>
* rdoc: <http://docs.seattlerb.org/ruby2ruby>
ruby2ruby provides a means of generating pure ruby code easily from
RubyParser compatible Sexps. This makes making dynamic language
processors in ruby easier than ever!
Changes:
### 2.5.1 / 2024-07-08
* 1 bug fix:
* Fix errors created when string literals are frozen. (byroot + zenspider)
Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework) versions
0.3.0, 0.3.1, and 0.3.2 have been released.
GitHub Project : https://github.com/AndyObtiva/glimmer-dsl-web
Ruby Gem : https://rubygems.org/gems/glimmer-dsl-web
Change Log:
0.3.2
Optimize performance (~248% faster) of rendering by changing DSL ordering
to avoid component checks at the top
Optimize performance of formatting html elements by adding Glimmer DSL
shortcut methods
Optimize performance of component expressions by indexing component keywords
Upgrade to glimmer 2.7.9
0.3.1
Optimize Todo MVC performance for filtering between all, active, and
completed (it happens instantly now)
Append Todo MVC todos at the bottom instead of prepending them at the top
(I copied the ES6 version initially which did things the opposite way from
how Todo MVC behaves normally in other versions)
Make Todo MVC "items left" text show "item left" if there is only 1 todo (I
missed this detail before)
Make Todo MVC footer links open a new tab/window (with target: '_blank'
option)
Refactor/Simplify Todo MVC sample code
Upgrade to glimmer 2.7.8
0.3.0
Optimize performance (~170%-226% faster) of rendering by building GUI in
bulk, assembling html as a string from all nested elements and mounting all
HTML at once (instead of making many small DOM mount calls). The trade-off
is not being able to interact with elements until rendering of the complete
hierarchy is complete, which is acceptable because interactions do not
happen till after everything is rendered anyways. Can be disabled by
passing the bulk_render: false option to the top-level component/element of
a frontend app.
Fix issue with not being able to add content to a custom control by opening
a block that should add content inside its markup root element