SlideShare a Scribd company logo
1 of 15
Download to read offline
An introduction to SilverStripe 3.2
SilverStripe 3.2
11 June, 2015 • London • Dan Hensby (@dhensby)
What’s new in 3.2 and how you can help us launch
An introduction to
What’s new in 3.2?
● Big changes
● PHP min version bumped to 5.3.3 (from 5.3.2)
● Parameterised DB queries! PDO connector now
standard (use it!)
● SiteConfig and Reports moved to separate
modules
● Introduced “Archive” concept for pages (superseding
“delete from draft”)
It’s rhyme time
11 June, 2015 • London • Dan Hensby (@dhensby)
See the changelog: bit.ly/ss32changes
What’s new in 3.2?
● Lots of minor changes and improvements
● FormField::validate() implemented more
consistently
● Speed improvements (Config caching - LRU
replaced with Key-Value store)
● DataObject changed fields constants added
(CHANGE_STRICT, CHANGE_VALUE, CHANGE_NONE)
● $FromEnd template helper added
● Various UX improvements like a fancy new loader
GIF11 June, 2015 • London • Dan Hensby (@dhensby)
See the changelog: bit.ly/ss32changes
An introduction to SilverStripe 3.2
An introduction to SilverStripe 3.2
An introduction to SilverStripe 3.2
What’s old in 3.2?
● Removed
● <% control %> syntax in templates (use loop)
● Profiler class
● Member login tracking
● DataExtension BC with 2.4 (extraStatics(), etc
removed)
● A few more minor classes
● Deprecated (still works, but will be removed later)
● Config setters
● DB class functions brought inline with naming
Things that are gone (or going)
11 June, 2015 • London • Dan Hensby (@dhensby)
How hard is it to upgrade?
● MySQLDatabase seems to have some memory issues - use MySQLPDODatabase
● Big re-write - lots of changes - see the changelog for
a complete guide
● Prepared queries - *droooool*
● SQLSelect, SQLDelete, SQLUpdate and SQLInsert
Effort involved to move to 3.2
11 June, 2015 • London • Dan Hensby (@dhensby)
How hard is it to upgrade?
● Form IDs have had various fixes
● IDs for FormFields are now “namespaced” to reduce
ID collisions
● Forms no longer produce invalid IDs
● Removed duplicate IDs from inputs and their parent
div
● Upgrade pain for projects that rely on Form/Field IDs
● Legacy support for anyone who needs old
behaviour:
Effort involved to move to 3.2
11 June, 2015 • London • Dan Hensby (@dhensby)
Wait, aren’t we SemVer now?
● SemVer defines a specification for versioning
● Major . Minor . Patch
● Composer replies on SemVer (~3.2.1 means 3.2.x - low risk upgrades)
● Officially adopted in late 2014
● First minor release since then
● Upgrading should be relatively smooooth
Our first “minor” release since adopting Semantic Versioning
11 June, 2015 • London • Dan Hensby (@dhensby)
See semver.org for specifications
When’s it coming?
11 June, 2015 • London • Dan Hensby (@dhensby)
3.2.0-beta.1
11 June, 2015 • London • Dan Hensby (@dhensby)
Out next week!
How can you help?
● Get using it
● composer create-project
silverstripe/installer:3.2.x-dev www
● Upgrade a project you’re currently developing (with release a month or so away)
● composer require silverstripe/cms:3.2.x-
dev --update-with-dependencies
● Submit tickets to /issues
● Submit patches and improvements to /pulls
Getting to RC1 quickly
11 June, 2015 • London • Dan Hensby (@dhensby)
Thank you!
@dhensby
dhensby@silverstripe.co.uk
11 June, 2015 • London • Dan Hensby

More Related Content

Similar to An introduction to SilverStripe 3.2

Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish DatabaseGaetano Giunta
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...eZ Systems
 
GeoMapFish User-Group - November 2021
GeoMapFish User-Group - November 2021GeoMapFish User-Group - November 2021
GeoMapFish User-Group - November 2021remyguillaume
 
Monitor Discourse via API using Grafana
Monitor Discourse via API using GrafanaMonitor Discourse via API using Grafana
Monitor Discourse via API using GrafanaNordic APIs
 
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!Serdar Basegmez
 
Bitbucket as a code server and pmt
Bitbucket as a code server and pmt Bitbucket as a code server and pmt
Bitbucket as a code server and pmt malike4u
 
Git talk
Git talkGit talk
Git talksamtho
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...VincitOy
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0Carlo Bonamico
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltNCCOMMS
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014Jody Garnett
 
Stencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven ZelekStencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven ZelekIlyaDmitriev11
 
Automating Enterprise Workflows with FME Server
 Automating Enterprise Workflows with FME Server Automating Enterprise Workflows with FME Server
Automating Enterprise Workflows with FME ServerSafe Software
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14msohn
 
Web Api 2.X - Lattanzi
Web Api 2.X - LattanziWeb Api 2.X - Lattanzi
Web Api 2.X - LattanziCodemotion
 

Similar to An introduction to SilverStripe 3.2 (20)

Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...
 
GeoMapFish User-Group - November 2021
GeoMapFish User-Group - November 2021GeoMapFish User-Group - November 2021
GeoMapFish User-Group - November 2021
 
Speakers slidedeckwidescreen sp-biz
Speakers slidedeckwidescreen   sp-bizSpeakers slidedeckwidescreen   sp-biz
Speakers slidedeckwidescreen sp-biz
 
Monitor Discourse via API using Grafana
Monitor Discourse via API using GrafanaMonitor Discourse via API using Grafana
Monitor Discourse via API using Grafana
 
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
Engage 2020: Six Polite Ways to Design a RESTful API for Your Application!
 
Bitbucket as a code server and pmt
Bitbucket as a code server and pmt Bitbucket as a code server and pmt
Bitbucket as a code server and pmt
 
3 Git
3 Git3 Git
3 Git
 
Git talk
Git talkGit talk
Git talk
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
 
Angular 4 - quick view
Angular 4 - quick viewAngular 4 - quick view
Angular 4 - quick view
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
 
Http 2
Http 2Http 2
Http 2
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014
 
Stencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven ZelekStencil JS for Framework Free Web Components | Steven Zelek
Stencil JS for Framework Free Web Components | Steven Zelek
 
Automating Enterprise Workflows with FME Server
 Automating Enterprise Workflows with FME Server Automating Enterprise Workflows with FME Server
Automating Enterprise Workflows with FME Server
 
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
Code Review with Git and Gerrit - Devoxx 2011 - Tools in Action - 2011-11-14
 
Web Api 2.X - Lattanzi
Web Api 2.X - LattanziWeb Api 2.X - Lattanzi
Web Api 2.X - Lattanzi
 
Git workshop
Git workshopGit workshop
Git workshop
 

Recently uploaded

IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9Jürgen Gutsch
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxPrakarsh -
 
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기Chiwon Song
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example ProjectMastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Projectwajrcs
 

Recently uploaded (20)

Program with GUTs
Program with GUTsProgram with GUTs
Program with GUTs
 
Sustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire ThornewillSustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire Thornewill
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptx
 
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example ProjectMastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
 

An introduction to SilverStripe 3.2

  • 2. SilverStripe 3.2 11 June, 2015 • London • Dan Hensby (@dhensby) What’s new in 3.2 and how you can help us launch An introduction to
  • 3. What’s new in 3.2? ● Big changes ● PHP min version bumped to 5.3.3 (from 5.3.2) ● Parameterised DB queries! PDO connector now standard (use it!) ● SiteConfig and Reports moved to separate modules ● Introduced “Archive” concept for pages (superseding “delete from draft”) It’s rhyme time 11 June, 2015 • London • Dan Hensby (@dhensby) See the changelog: bit.ly/ss32changes
  • 4. What’s new in 3.2? ● Lots of minor changes and improvements ● FormField::validate() implemented more consistently ● Speed improvements (Config caching - LRU replaced with Key-Value store) ● DataObject changed fields constants added (CHANGE_STRICT, CHANGE_VALUE, CHANGE_NONE) ● $FromEnd template helper added ● Various UX improvements like a fancy new loader GIF11 June, 2015 • London • Dan Hensby (@dhensby) See the changelog: bit.ly/ss32changes
  • 8. What’s old in 3.2? ● Removed ● <% control %> syntax in templates (use loop) ● Profiler class ● Member login tracking ● DataExtension BC with 2.4 (extraStatics(), etc removed) ● A few more minor classes ● Deprecated (still works, but will be removed later) ● Config setters ● DB class functions brought inline with naming Things that are gone (or going) 11 June, 2015 • London • Dan Hensby (@dhensby)
  • 9. How hard is it to upgrade? ● MySQLDatabase seems to have some memory issues - use MySQLPDODatabase ● Big re-write - lots of changes - see the changelog for a complete guide ● Prepared queries - *droooool* ● SQLSelect, SQLDelete, SQLUpdate and SQLInsert Effort involved to move to 3.2 11 June, 2015 • London • Dan Hensby (@dhensby)
  • 10. How hard is it to upgrade? ● Form IDs have had various fixes ● IDs for FormFields are now “namespaced” to reduce ID collisions ● Forms no longer produce invalid IDs ● Removed duplicate IDs from inputs and their parent div ● Upgrade pain for projects that rely on Form/Field IDs ● Legacy support for anyone who needs old behaviour: Effort involved to move to 3.2 11 June, 2015 • London • Dan Hensby (@dhensby)
  • 11. Wait, aren’t we SemVer now? ● SemVer defines a specification for versioning ● Major . Minor . Patch ● Composer replies on SemVer (~3.2.1 means 3.2.x - low risk upgrades) ● Officially adopted in late 2014 ● First minor release since then ● Upgrading should be relatively smooooth Our first “minor” release since adopting Semantic Versioning 11 June, 2015 • London • Dan Hensby (@dhensby) See semver.org for specifications
  • 12. When’s it coming? 11 June, 2015 • London • Dan Hensby (@dhensby)
  • 13. 3.2.0-beta.1 11 June, 2015 • London • Dan Hensby (@dhensby) Out next week!
  • 14. How can you help? ● Get using it ● composer create-project silverstripe/installer:3.2.x-dev www ● Upgrade a project you’re currently developing (with release a month or so away) ● composer require silverstripe/cms:3.2.x- dev --update-with-dependencies ● Submit tickets to /issues ● Submit patches and improvements to /pulls Getting to RC1 quickly 11 June, 2015 • London • Dan Hensby (@dhensby)

Editor's Notes

  1. Core committer - I have the power to take in PRs and make changes to the code-base Now working at SilverStripe UK (London Office) Solutions Architect Supporting Joel in his role Providing support to SS Partners Helping the community
  2. There’s been a few “big changes” PHP bump, shouldn’t be a big deal, who runs 5.3.2 anyway? A big overhaul to the DB connectors to use parameterised queries. Lots more secure and, theoretically, should be faster. Site config and Reports have been split out into their own modules - if you upgrade with composer, these will be added automatically Big change to CMS to “Archive” pages in a single step, rather than deleting from both Stage and Live This stops pages getting “lost” Manages expectation of the user, before it was easy to think a page was deleted when it was only deleted on the draft site It’s a simpler workflow - one step, not two.
  3. There have been lots of small feature enhancements Most shouldn’t affect your daily use of SS Work has been done to increase speed, one such improvement was to how we cached Config settings Nice tweaks like named constants for $do->getChangedFields() (rather than magic numbers) `$FromEnd` (like the inverse of $Pos) UX improvements to the CMS, like auto collapsing left hand menu, spinner for gridfield autocomplete field, and more Oh and a fancy new GIF!
  4. Most removals have been done via Deprecation (the old way still works, but you should use the new way) Some items have been removed, but these are old-school issues that should have been upgraded as part of 3.0 -> 3.1 Member login tacking was removed as it had a performance penalty for no real gain and lead to multiple DB calls per request - it was an obstacle to read-only sites Lots of function renaming, eg: DB::getConn -> DB::get_conn
  5. Huge scale re-write of the DB query layer, splitting out into SQLSelect, Delete, Update and Insert Lots of effort to keep SQLQuery backwards compatable
  6. 3.1 has a bug where form will have ID collisions in the HTML, this has been resolved and other invalid characters that found their way into HTML IDs have been fixed This will be a pain point if you rely on IDs for JS or CSS (if you do, stop it) - you should use classes, use $field->addExtraClass(‘js-this-thing’);
  7. This is our first minor release since adopting semver in late 2014 In short, SemVer dictates that changes to code can only go into each version part depending on their impact. Breaking changes (removing code, changing the type of data a function returns, etc) can only go in a Major release New features or changes that are implemented in a BC way go into Minor Bug fixes go into Patch This gives a lot more certainty to developers about what risk is involved. That makes this release a half-half semver compliant; there will be some breaking changes, but hopefully the last minor release that does
  8. We really need help to make sure it’s stable and bug free Try it out by starting a new project and testing Upgrade a current project How many people are already using it (3.x-dev or 3.2.x-dev)? Submit tickets or patches (if you find a bug) to GitHub :) The more people that use it, the better