Skip to content

Releases: jyoungblood/stereo

2.0.0

01 Oct 20:12
Compare
Choose a tag to compare

THE BITCH IS BACK

I'd given up on this toolkit for a while. I figured it was time to focus on other projects and spend some time in other ecosystems. I learned a lot, made new friends, got tons of new ideas, but never found QUITE the right set of tools for my ideal workflow.

No matter what I was doing, my mind just kept coming back to STEREO. I'm completely obsessed with the idea of this toolkit and literally can't stop thinking about it...so I've decided to return with version 2.0!

It's really amazing how much the world has changed since I started putting this thing together way back in 2010. Things that were immensely difficult at the time are trivially easy these days. And PHP is apparently cool now? Fronted tech has evolved to the point where I can reliably get what I want from the libraries without much frustration, and the same goes for build tooling.

As chaotic as it seems at times, we're in the halcyon days of web development. I'm truly thankful for the years and years of hard work invested in developing the underlying frameworks, libraries, and utilities by people who are A LOT smarter than me.

And I'm thankful that any of us can use this knowledge freely and largely without restriction for our own purposes.

What a great time to be alive. I love open source <3

Lots of big changes in this version, too many to list here, but these are the highlights:

  • Now built on Slim!

  • Now using Blade templates with the wonderful BladeOne library. Views are cacheable now, too.

  • Also using TailwindCSS and Alpine.js

  • We've got our own rendering package now...it's the classic stereo render_template() functionality designed to work with Slim's response interface.

  • Un-bundled all the old abstraction utilities (db, cookie, request, etc) into their own external libraries. They're now the VPHP packages. The same functionality is still available, but the syntax is a little more modernized. Check their readmes for more info:

  • Wired in $_ENV variables with phpdotenv, shoutouts to Vance!

  • Added middleware and a DI container, pretty easy to implement thanks to Slim.

  • New & improved application architecture:

    • Implemented "front controller" pattern, all public assets are in a "public" directory (which is set as web root on deployment)
    • Settings.php is there but it's different now (part of the container)
    • No more "controllers" directory, all the backend structure is in the "app" directory, and most custom logic goes (initially) in the "routes" directory.
    • Oh btw the routes are automatically included, just add a file in the "routes" directory and it works. No need to link anything. Incredible.
    • I need to write a blog post or something about this...I've put a lot of thought into it and really want to go in-depth about how this is supposed to work and how I arrived at these conclusions. Some of it seems very counter-intuitive but I promise it makes sense.
  • Added a couple scripts for facilitating local development workflows (a long-time dream of mine)

    • You can run composer start to run just the PHP server or npm run dev to run the PHP server and the Tailwind watcher script concurrently. NICE!
    • Planning on adding Vite in the future, so the build process will change but the npm run dev interface will stay the same.
  • And my favorite part: really nice error templates!

    • A general purpose template and a dedicated 404 version. The general template gives detailed errors and stack traces in the local dev environment, but just shows simple error codes and names in production.
    • They're both entirely customizable 👍
    • And they look really nice by default 👍 👍

A special word of thanks to the authors of the libraries we're no longer using, especially: jQuery, Tachyons, Alto Router, and mustache.php / handlebars.php. We had a lot of fun and made a lot of money over the years. Couldn't have done it without you.

Thanks for watching, I hope you enjoy version 2.0! I'm really excited about this project and I've got some cool plans for the future.

Stick around and see what develops!

1.4.0

23 Dec 21:53
Compare
Choose a tag to compare

Well it's time for our annual update. Just a few "major" minor changes this time around:

  • updated default library bundle: hello alpine.js & instant.page, goodbye jquery (still shipping this...just not including by default anymore)

  • new tachyons version: 4.12.0

  • updated boilerplate w/ simple alpine demo

  • added some more default glyphs for the demo screen...why not, right?

  • email_send mail handler - added a 'reply_to' parameter for mailgun

  • updated core authenticate() method - set group_id cookie, check existence of admin/moderator cookies before verifying (this is mostly for darkwave)

  • updated core cookie_set() method - set expiration date for 1 year

  • killed some superfluous files:

    • js/app.js
    • stereo/license.md
    • stereo/changelog.md (i know we added this in the last release, but...we already have a changelog online...and you're lookin at it)

  • not related to the codebase, but we ditched docusaurus in favor of a single page docs section on the project web site. docusaurus is great, but it's overkill for this project.

Hope you're faring well in these unprecedented times. If you're feeling down or just can't deal, remember the words of Henry Rollins: "The Blood Brothers make music that will save us all!" — https://www.youtube.com/watch?v=pA9ruPqj930

1.3.0

23 Dec 21:52
Compare
Choose a tag to compare

Greetings, dear ones, I am pleased to bring you the latest version of our beloved internet toolkit. The focus for this release is twofold: 1) removing that which is no longer useful and 2) making it easier than ever to achieve nice results.

May this release bring you joy and prosperity as you continue with your daily work.

And so it is:

  • new docs site, nice place to grow (thank you Docusaurus 😘) - http://docs.stereotk.com/
  • upgraded Tachyons version - 4.11.2
  • upgraded jQuery version - 3.4.1 😈
  • cool generic default favicon (it's a white circle now)
  • added favicons in various sizes for various platforms (in /images/favicons)
  • .htaccess - rewrite url to serve primary favicon at /favicon.ico
  • .htaccess - force SSL by default (if available)
  • default responsive viewport: width=device-width, initial-scale=1
  • updated breakpoints.css to match Tachyons media query breakpoints
  • killed the boilerplate demo, moving to new examples section in docs
  • app.css ✈️ styles.css
  • /stereo/lib - new vendor folder for 3rd-party PHP libs (good place for stuff you want to add manually [not using composer], such as phmagick or simple_html_dom)
  • updated license author (copyright + contact info)
  • killed default monospace font
  • now using changelog.md for any new features/fixes
  • moved changelog.md and license.md to /stereo
  • revised readme (streamlined demo/features, installation instructions)

1.2.0

23 Dec 21:51
Compare
Choose a tag to compare

Solidified release to support development of Darkwave CMS (and provide a better development experience in general)

Changelog

  • upgrade tachyons version (4.6.1)
  • update breakpoints (remove css variable breakpoints)
  • all *_request() methods (http_request, api_request, etc) now default to array for second parameter (so 2nd param can just be blank if there's no data to send)
  • move authentication from render_template to globally-available scope
  • remove reference to jq sourcemap
  • update email_send mailgun credentials (settings format changes for darkwave)
  • fixed bug in db_find (show total number of rows derp)
  • updated http_request (api/json/debug/etc) to allow force GET type request

1.1.1

23 Dec 21:55
Compare
Choose a tag to compare

¯_(ツ)_/¯

1.1.0

23 Dec 21:51
Compare
Choose a tag to compare

STEREO is finally ready for prime time! Although it will continue to be updated with bug fixes and minor new features in the future, all of the core functionality is in place shouldn't change ever again!

More info: http://stereotk.com/docs

0.1.4

23 Dec 21:50
Compare
Choose a tag to compare

Legacy version