ds 1.2.8
Fixed buffer outflow during deserialization of map objects. @rado-h
decimal 1.1.1 Fix "signum" returning 1 for zero, instead of 0.
mysql_xdevapi 8.0.14 WL#12593: DevAPI: Handling of Default Schema
WL#12457: Be prepared for initial notice on connection
WL#12291: automagically resolve path to preferred version of boost on pb2
orabug #28803092 the offset() method requires limit()
orabug #28802524 always use sql()->execute() instead of executeSql()
orabug #27441854 fetchAll should return an empty array when the result is empty, not (bool)false
orabug #28804413 containers methods
orabug #28802453 TableDelete: offset does not seem useful
orabug #29011588 execute more than once for crud ops with bind causes crash at releasing
orabug #28605347 CollectionFind::offset() without limit() error is unclear
orabug #28803201 FieldMetadata and ColumnResult are returning different information about columns
orabug #28804447 remove client functions
orabug #28802551 Collection::createIndex() create an index on multiple fields
orabug #28804461 ensure groupBy() functionality
orabug #28838435 PHPT tests - make checking results more precise
zookeeper 0.6.3 Bugs:
- Correct exception message (From "Failed to connect to Zookeeper" to "Failed to initialize ZooKeeper ...", Issue #29)
- Fix 'duplicate symbol _php_zk_config_ce'
- Fix segmentation fault when destroying Zookeeper instance (GH PR #31)
Refer to the migration guide (/UPGRADE-0.10.md) for a detailed description.
At an high level here are the breaking changes we introduced:
We removed OpenTracing as a required dependency. We still support OpenTracing, so you can do OpenTracingGlobalTracer::get() in your code and still retrieve a OpenTracing compliant tracer, but OpenTracing dependency is now optional.
We introduced auto-instrumentation and 1-step installation in place of manual registration of providers/bundles. Before, in order to see traces, you had to install our extension, add two dependencies to the composer file and add a provider (Laravel) or a bundle (Symfony). Starting from now you will only have to install the extension. You still have freedom to manually instrument the code, but only for advanced usage.
Added
Request init hook configuration allowing running arbitrary code before actual request execution #175
Support OpenTracing without depending on it #193
Initial C extension PHP 5.4 support #205
Removal of external dependencies to support auto-instrumentation #206
Migration from namespace based constants to class based constants for tags, formats and types #207
Track integration loading to avoid re-loading unnecessary ones #211
Documenting release steps #223
Ability to run web framework tests in external web server #232
Support for auto-instrumentation #237
Support for Zend Framework 1 #238
Tracer::startRootSpan() to track the root Scope instance which can be accessed with Tracer::getRootScope() #241
Fixed
The INI settings now appear in phpinfo() and when running $ php -i #242
The trend of setting everything in motion rules the roost these days. You cannot help but to follow this madness and develop an obsession of injecting life into every detail of a website. The static era is gone. Everything is dynamic. And you know what? Users are perfectly aware of it.
For some, that is bad news, since it will take Herculean efforts to trick users into believing that a static website brings an exciting experience. For others it is an opportunity to show off, reveal your inner genius and get swept away in the world of dynamic craziness.
The Web Designer Toolbox Unlimited Downloads: 500,000+ Web Templates, Themes, Plugins & Design Assets
If you are still stuck believing that the only thing you can do with typography is to use an offbeat typeface or extravagant hover effect, then we are going to prove you wrong. You can do wonders with typography, transforming it into a thing that will not yield to others in terms of creating an impression.
And if you are no fan of immersive or heavy solutions, then this is indeed a way out. To give you a solid start, we have collected several incredible code snippets where the lettering was skillfully set in motion, bringing about an excellent outcome.
Just look at Shattering Text Animation by Arsen Zbidniakov. Is it not brilliant? The solution neither overwhelms visitors with lots of action and unnecessary dynamics nor does it overload your system. It just works, leaving everyone in a “wow” state.
Made with the help of GSAP tools and SVG path, this shattering effect that assembles and disassembles the text is simply incredible. What’s more, hover the mouse cursor over it and you will get an opportunity to control the speed of the process, slowing everything down. It is just phenomenal.
Much like our first example, this code snippet exhibits an animation of assembling and disassembling text. However, this time the artist uses Three.js to bring everything to life. This is another controllable explosion. Yep, you read me right: You can also control the speed of the animation by clicking and dragging. And if you enjoy this experiment, Szenia has some more entertaining examples. Just check out his profile.
Ara has several mind-blowing experiments with typography. Both of the following examples are abstract, based on geometric manipulations and feel and look high-tech. In some ways they are even a bit bizarre.
In the first example, the text is composed of tiny pieces that slowly but surely form a 3D tunnel of particles.
In the second, each symbol is constructed from primitive polygons such as triangles, squares and rectangles that are brought in motion. It feels like someone’s digital hand is weaving it all together.
Nate Wiley has turned Split Text from Greensock to his advantage, recreating a marvelous text animation. He takes a regular piece of text and blows it into tiny fragments, where each one is a symbol. After the explosion, characters move in various directions and smoothly disappear.
Unlike the previous examples where high-end technologies stand behind the beauty of the solutions, here CSS-based motion runs the show. Dudley Storey puts in action CSS keyframe animations, transitions, JavaScript, SVG and a bit of Adobe Illustrator magic. The word shatters a bit and then breaks into polygonal pieces in such a way that you can still read it. If you want to add stylish brutality to your typography, this effect is certainly a starting point.
While Nate Wiley blows text away, Yasunobu Ikeda, on the contrary, forces particles that are chaotically scattered throughout the screen to form into text. Here the particles are nothing more than tiny icons. The author uses Three.js to recreate this gorgeous 3D animation.
Tamino Martinius benefits from more traditional manipulations by using SVG paths. Thanks to sleek shapes, ultra-thin lines and liquid-like behavior, the animation oozes elegance and refinement. Although it is not as mind-blowing as our first example, its powers lie in an ability to fit numerous projects since it is certainly a practical solution.
For More Practical Usage
Speaking of which, we have also included some inspiring and practical solutions. Here, type is set in motion so that you can take baby steps in this direction.
While the first two examples feature effects that can be beneficial for taglines and catchy phrases, the latter is an interesting solution for regular blocks of text.
Mikael Ainalem’s pen shows a cycled animation where words are highlighted in a rotation. It is an excellent way to guide users from one word to another.
Tryggvi Gylfason adds a moving line that slides from the left to right side and forces letters to follow it, thereby either pressing or pulling symbols of a word. The effect is small but captivating.
Ignacio Correia supplies text with a motion blur effect. When you move down in a brisk pace, the text blurs into an almost white spot. As you slow down, the words become less obscure.
A Case for Using Animation in Typography
These typographic animations compel us to stop and enjoy the action. They are as inspiring and eye-catching as animations that can be seen in other elements, such as hero areas.
Unfortunately, we do not see many of them in the wild. It seems that everyone is obsessed with using action-packed full-screen animations instead of setting simple lettering into motion. But as we’ve seen here, these effects can make just as much of an impact on users.
There are a number of benefits to running your WordPress website on a recent version of PHP. Among the most noticeable perks is the massive increase in speed. PHP 7.3 runs about three times as many requests per second when compared with PHP 5.6.
While performance is important, there is something even more concerning. Both PHP 5.6 and 7.0 reached their end-of-life at the end of 2018. That means neither version is receiving crucial security fixes. Therefore, the longer you remain on one of these non-supported versions, the more potential there is for something bad to happen.
Also of note is that WordPress is currently recommending that your web server run PHP 7.3 and is making plans to drop support for anything lower than PHP 5.6. But in this case, running at the bare minimum isn’t good enough.
So, if you’re utilizing an outdated version of PHP, it’s time to get up-to-speed. But before you upgrade, it’s important to test your site to ensure that it will continue running smoothly afterwards.
Let’s have a look at some considerations and testing methods you can leverage to get your site ready for PHP 7.x.
Considerations and Potential Roadblocks
It stands to reason that, the older your site is, the more potentially problematic running on the latest versions of PHP will be. The code that makes up the themes and plugins we use evolves over time. As such, you’ll find that some methods that were acceptable a few years ago have since become either deprecated or removed altogether.
So, before you test anything related to a PHP upgrade, it’s important that your WordPress install is fully up-to-date. That means WordPress core, along with your theme and plugins are running at their latest versions.
But what if a theme or plugin hasn’t had a new version released in a few years? That could pose a problem when upgrading your version of PHP. If these items have unsupported code, they may display errors or stop your site from even loading (the dreaded White Screen of Death).
Testing, which we’ll get to in a moment, will give you a better picture of trouble spots. But it’s worth keeping in mind that some parts of your site may need fixed or replaced.
The other major consideration is your web host’s setup. Which PHP versions do they offer? Are you able to easily switch versions in case you run into problems? Do they have plans to abandon versions 5.6 and/or 7.0? Knowing the answers to these questions will help you create the best possible plan of attack.
Testing Methods
Whether your site is large or small, it’s important to perform some tests before you attempt to use a newer version of PHP. It requires some extra effort, but could save you from some frustrating downtime.
How you test will depend on the resources you have available and, more generally, your working knowledge of PHP. Here, we’ll focus on a couple of more basic ways to test.
Use a Staging Server
Ideally, you’ll have access to a staging environment that is running the exact version of PHP you’ll be upgrading to. This will provide you with an accurate result and a view of what’s working (and what’s not).
But even if your web host can’t provide this for you, it’s still possible to put together a local server that can approximate the experience. Software such as Bitnami, WAMP and XAMPP can get you up and running fairly quickly.
Either way, having access to a cloned version of your site makes the testing process much easier. With debugging turned on, you can thoroughly check the front and back ends for any show-stopping issues.
Run a Compatibility Check
While not always 100% accurate, you can also use a compatibility checking tool to see how your WordPress install holds up on a specific version of PHP.
The free PHP Compatibility Checker plugin will search through your site’s theme and plugin code in an attempt to uncover some common issues. You can select the major version of PHP you want to test against (7.1 or 7.2, for example) and the plugin will do the rest. An itemized report is generated that will show any potential problems that have been found.
Finding and Fixing Errors
If your site is displaying errors, you’ll need to invest some time in finding their source and then repairing them. Sometimes, the errors themselves will lead you right to the culprit. For example, one that mentions the path of a specific plugin would be a pretty good indicator of where you should look for solutions. But it’s not always that easy.
If the error is a bit more vague, you’ll need to put on your detective’s hat and do some troubleshooting. The standard procedure in WordPress is to deactivate all plugins and switch to a default theme, such as Twenty Nineteen. This is another reason why you’ll want to use a staging environment if at all possible.
With all of your plugins deactivated and the default theme in place, load up the site on the front end. Notice any errors? Odds are that they will have been eliminated, since you’re running a completely stock install of WordPress.
Next, it’s time to start activating plugins and testing them, one-by-one. Turn on a plugin, and click around on the front end. No errors? Repeat the process until you’ve found the troublemaker. If none of your plugins are triggering an error, then move on to your theme.
Once you know which item(s) are problematic, you can look for solutions. In the case of a third-party plugin or theme, you’ll want to start with the support forums and see if you can find others who have had the same issue. Perhaps there’s a solution. Or, you can at least report the problem to the author.
If that doesn’t lead to a fix, some decisions have to be made. Software that has known compatibility issues that aren’t being fixed means that you’ll probably have to move on to something else. Hopefully, you can find a suitable alternative that you can test and implement.
Note that, while you can theoretically patch third-party software on your own, it’s a temporary band-aid at best. A future update could overwrite your work and lead to a broken site.
If the offending code is something you’ve written, dig through the PHP documentation and see how you can bring it up-to-standard. While it may be tedious, this is still better than having to rely on someone else to fix their product.
Better Speed and Security
After you’ve cleaned up any issues on your site and are running PHP 7.x, you can sit back and enjoy the benefits. Your site will process requests much faster, thus improving the user experience.
Even better is that you’ll have some piece of mind in knowing that, whenever any security holes are found in PHP, they’ll be patched. Then there is the satisfaction of knowing that your WordPress website is running on code that is compatible with the latest standards.
Upgrading PHP isn’t necessarily the must enjoyable or fun experience. In fact, it can be quite frustrating when trying to track down and fix errors. But the end result makes it truly worth the effort.