Openedge 12


Colleen just announced that 11.7 is the end of the line for the OE11 series. "12" is planned for 2018.

This means that OE10 joins v9 in the retirement home...

Cringer Moderator
Staff member
Just so I've got it straight it retires when 12 is released? Correct? Good news! Although it does mean you'll be waving your curmudgeon stick around a lot more... ;)


Technically, yes, it is not formally retired until 12 is released. But for most purposes oe10 has been de-facto retired for years now...

Cringer Moderator
Staff member
Can't wait to see the back of it, despite the fact it means a lot of upgrade work!

Rob Fitzpatrick Sponsor
If I recall correctly, 9.1E was still clinging to life in the 11.0 days. So, especially given its still-strong install base, we may not see 10.2B08 retire right when 12.0 ships. That's just my guess, I don't have any inside info on that. But I have heard that they're actively planning 12.x features now.

But certainly 10.2B is living on borrowed time. No one should plan to upgrade to it at this point, and anyone on it should have a solid plan to upgrade from it soon.


She was very clear - when 12 comes, 10 goes ;)

Rob Fitzpatrick Sponsor
She was very clear - when 12 comes, 10 goes ;)
I guess they don't want to repeat the slow rollout that v11 had.

If that's the case, hopefully the v12 feature set will be more appealing than MTT and BPM were. People will upgrade when they see business value that offsets the cost.

Cringer Moderator
Staff member
They've committed to focussing on 'Always On'. About 10 years too late, but that's worth paying for if they get it right.


19+ years progress programming and still learning.
So... what’s new in OE12?

Cringer Moderator
Staff member
Server side joins, multi threaded database server, BHT latch contention reduction, Swagger included to document the PASOE Rest interface, loads more I can't think of. I've got the ESAP downloaded with the plan of playing if I get some time...
Oh OE Replication - streaming of AI files to target. This gets them off the box ASAP and leaves the burden of processing to the target(s) rather than the source.

Rob Fitzpatrick Sponsor
By all appearances, lots of good stuff in 12.0 and beyond.

I believe we'll be quick out of the gate to deploy it. Much different from 11.x, where my first deployment was on 11.3. Also, they'll be iterating pretty quickly. We expect to see three point releases in calendar 2019, starting with 12.0 in Q1.

In addition to everything @Cringer mentioned, at long last they're unifying the security models for ABL and SQL. It will be optional and off by default, to provide a compatibility/upgrade path. But you will be able to convert the DB to a model like OE SQL uses today: deny privileges by default, and only allow explicitly. Once a DB is converted, there will be one set of privileges across both query engines. The _file._can-* fields will no longer be used. There will be some refactoring work but it's a great feature and I'm looking forward to it. The work begins in 12.0 and I believe it will be further enhanced, perhaps finished, in 12.1 (currently due mid-year).


19+ years progress programming and still learning.
Any new ABL features? I’m more of a developer than a DBA guy. Unfortunately, I no long have direct access to press reslease from the progress website.

Rob Fitzpatrick Sponsor
Any new ABL features? I’m more of a developer than a DBA guy. Unfortunately, I no long have direct access to press reslease from the progress website.
Here are my notes on 12.0 and beyond from PUG Challenge Americas.

Industry changes:
  • APIs everywhere
  • Continuous Integration
  • Continuous Deployment
  • Cloud & Mobile
  • Component Assembly
  • Application Evolution
Past development cycles have been roughly one year for the OE team
  • "That won't cut it in the future"
  • They are trying to move to CI/CD internally
  • Over time, they want to be able to move out new capabilities more quickly in individual components, e.g. perhaps introduce new PASOE features on a 3-month cycle
  • "Break down the OE monolith"
  • They set a challenge internally: allow clients to hit 99.999% uptime, over the next 12 months (about 5 min of downtime)
  • PASOE self-monitoring, auto-cycle server instances
  • OE Replication file streaming
  • New online operations in 12.0:
    • SQL drop index, column, or trigger
    • SQL rename index or column
    • SQL JVM management/configuration
    • Convert variable extents to fixed
    • DB log file archive/truncate
Security in 12.0
  • Update Spring (also 11.7) and OpenSSL
  • PASOE support for OAuth2 (also 11.7.3) & SAML (also 11.7.4)
  • SQL/ABL security model unification, phase 1
  • Internal (PSC) infrastructure security
    • Address VeraCode, AppScan, and OWASP high-priority issues
    • Update CP cryptography
    • Remove RC4 as a TDE cipher
    • Support current HMAC algorithms (also 11.7.4)
Beyond 12.0: Continuous Availability
  • Online DB maintenance
    • Idxbuild
    • Startup parameters: default settings, increasing online, auto-tuning (autonomics)
    • BI space reclamation, extent management, area truncate/remote
  • Online schema changes
    • Add/drop resources, field, table, index, sequence, trigger, etc.
  • Automated upgrades
    • CI/CD
  • DR
    • Automated & transparent ABL client failover
  • Security
    • Updating Spring, OpenSSL, internal crypto
    • SQL/ABL security model unification
    • Signing r-code and PLs
Performance & Scale
  • Server-side joins (12.0)
    • Not all queries will be covered in the first release
    • FOR EACH queries will be covered in 12.0; other queries in the next release
  • Multi-threaded 4GL server
    • Up to 3x performance improvement in n-tier applications
      • They think this could be a conservative estimate; it could be even better
  • Reduced BHT contention
  • Autonomously update statistics
  • Beyond 12.0:
    • SQL bulk load of data
    • Ongoing data server perf improvements
    • Scale
      • Enhanced support for containers , Kubernetes orchestration
  • As of 12.0, containers are officially supported with PASOE
12.0 tooling
  • Coding:
    • SQL: null as a value, datetime function support
    • Execute FINALLY blocks during STOP processing
    • Set a return code on application exit
    • Tech preview: Eclipse Che hosted development
  • Refactoring
    • Find references
    • Rename a class name: filename, constructors, class name, .p creating new objects, variable declaration, arguments/parameters, USING, INHERITS, NEW statements
  • Compilation
    • Supply PCT (also 11.7.3)
    • Prevent method/function with no RETURN, or a RETURN within a FINALLY block
  • Code quality
    • ABL source analysis via SonarQube
  • Beyond 12.0:
    • Coding:
      • CI/CD , Eclipse Che
      • Call tree / graph
      • REST service documentation (OpenAPI)
    • Refactoring
      • Rename parameters, properties
      • Harvest business logic & procedural to OO
    • Compilation
      • Additional quality & best-practices checks
    • Code Quality
      • Generate stack trace with error objects
  • 12.0 will be delivered no later than March, maybe February
  • There will be additional SPs on 11.7
  • 12.1 middle of next year
  • 12.2 in Q4
  • They are striving to be much more transparent as an organization; CVP is a big part of that
  • Perf improvements in 12.0 will not be back-ported to 11.7
  • A number of changes are coming in 12.0 to improving the quality of error messages

Rob Fitzpatrick Sponsor
You can download the roadmap slides here.


19+ years progress programming and still learning.
Haha...I see that they are now supporting Hash Message Authentication Code (HMAC) algorithms (OE11.7.4). This is the code I wrote back in 2006 (12 years later) and even blogged about it on the ProgressTalk. I've even done some development work with SHOPIFY and that heavily uses HMAC.