Modernize or Die® - CFML News Podcast for August 6th, 2024 - Episode 217
Description
2024-08-06 Weekly News — Episode 217
Watch the video version on YouTube at https://youtube.com/live/Z3m5Nd7HoJc?feature=share
Hosts:
- Eric Peterson - Senior Developer at Ortus Solutions
- Dan Card - Senior Developer at Ortus Solutions
Thanks to our Sponsor - Ortus Solutions
The makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there.
A few ways to say thanks back to Ortus Solutions:
- Buy Tickets to Into the Box 2025 in Washington DC https://t.co/cFLDUJZEyM
- April 30, 2025 - May 2, 2025 - Washington, DC
- Like and subscribe to our videos on YouTube.
- Help ORTUS reach for the Stars - Star and Fork our Repos
- Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github
- Subscribe to our Podcast on your Podcast Apps and leave us a review
- Sign up for a free or paid account on CFCasts, which is releasing new content regularly
- BOXLife store: https://www.ortussolutions.com/about-us/shop
- Buy Ortus’s Books
- 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips)
- Now on Amazon! In hardcover too!!!
- https://www.amazon.com/dp/B0CJHB712M
- Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes
Patreon Support (Stupendous)
We have 57 patreons:
https://www.patreon.com/ortussolutions.
News and Announcements
BoxLang — Dynamic : Modular : Productive
https://boxlang.io/
https://boxlang.ortusbooks.com/
New Releases and Updates
CFConfig v2.0.6
Now supports BoxLang servers
Spreadsheet-CFML v4.1.0 – v4.2.0
- Add moveSheet()
- Add sheet position to sheetInfo() properties
- Upgrade POI to 5.3.0, commons-csv to 1.11.0 and excel-streaming-reader to 4.4.0
- Allow datatype to be specified with addColumn()
Sentry v2
Updated to match Sentry’s current event structure design
cbq v3.0.8 – v3.0.9
SyncProvider bug fixes
BoxLang Betas — Beta 2 through 8
Beta 2
New Features
- Encryption module — bx-password-encrypt
- New event: onRequestFlushBuffer
- Ability to coerce BoxLang functions, lambdas, and UDFs, to well-known functional interfaces for Java interop
- Add parallel streams from BoxLang arrays
- Truthy / Falsey completion for boolean caster
- New Fluent Attempt BIF and class
- Add the ability to add member methods to BoxLang classes — built-in class serialization to JSON
- New static helper on Array class: fromString( list, delimiter ) to create quick BoxLang arrays from strings
- New BIFs for registered interceptors into the request pool and the global pool: BoxRegisterRequestInterceptor, BoxRegisterInterceptor
- writeDump abort support
- writeOutput on complex BoxLang types should call the toString() on it
- Native encrypt, decrypt and generateSecretKey() BIFs
Bug Fixes
- writeDump expanded collapsed support
- writeDump top support
- listDeleteAt returns a list with multiple delimiters as a list with whole delimiters
- structNew with localeSensitive flag throws error
- structKeyTranslate returns void
- structGet does not create struct when missing
- structFindValue returning null owner
- No named applications not auto creating name
- Application listener requests interception points not registered
- Ambiguous if statements when not using curly braces
- this.javasettings not expanding to correct pathing
- this.javasettings ignores paths to actual jars and classes
- cfdirectory fails on centOS, converting datetime
- dateAdd() modifies its argument
- toString not formatting doubles correctly
- Attempt to cast instead of expecting strings inside isValid
- Regression on JSON serialization of box classes with JSON exclude annotations
https://www.ortussolutions.com/blog/boxlang-100-beta-2-launched
Beta 3
New Features
- Implement query cache ability
- Coerce java SAMs (Single Abstract Method interface) from BoxLang function interfaces
- AsyncService support for Virtual Thread Executors (create/manage)
- Bifs for module info: getModuleList() and getModuleInfo( module )
- Dumping of Java Classes now includes a dump of the toString() value to visualize values better
- New dump template for BoxLang Functions
- Allow the createDynamicProxy BIF to support the request class loader so it can load classes from loaded libraries in the application.bx, runtime, and more.
- New Script Binaries for bxCFTranspiler, bxCompiler, bxFeatureAudit tools in the distribution bin folder
Improvements
- Refactor JDBC connection retrieval out of the QueryOptions class
- Dynamic method matching discovery algorithms updated to do 2 pass algorithm: exact then loose coercion matching
- Improvement of cache service and cache provider methods for easier BoxLang interactions
- Refactored the dump css to resources/dump/html/Dump.css
- Migrate dynamic proxies to native java implementation from the JDK
- Passing the session id to the onSessionStart listener
- Give better warnings if the sessionStorage is not a valid string
Bug Fixes
- attributecollection not handled properly on cfthrow
- Left in system out calls that need to be removed
- JSR ScriptEngine starting runtime without debug flag if passed
- Creating a default cache was not setting the right name and a "default" already registered exception was being thrown
- Default argument values not always checked for type
- Implements missing from Box Class metadata
- Static Scope missing from metadata
https://www.ortussolutions.com/blog/boxlang-100-beta-3-launched
Beta 4
Improvements
- Query caching improvements and compatibility updates
- Ensure request attributes are available to the web runtime scope
- bx-compat CFML compatibility module updates to ensure null query column values are returned as empty strings
Bug Fixes
- Fixes compilation issue with variables name cfcatch
- CFML compatibility for CGI.QUERY_STRING when not provided
- Fix null queryparam functionality
https://www.ortussolutions.com/blog/boxlang-100-beta-4-launched
Beta 5
New Features
- Data Navigators
- Original Configuration
- StringBind BIF and member function
- At...