# OpenSTA, Static Timing Analyzer # Copyright (c) 2025, Parallax Software, Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. # # Altered source versions must be plainly marked as such, and must not be # misrepresented as being the original software. # # This notice may not be removed or altered from any source distribution. This file summarizes STA API changes for each release. Release 2.6.2 2024/03/30 ------------------------ The following functions have been renamed to to_string and return std::string instead of "const char*" Vertex::name FuncExpr::asString TimingRole::name MinMax::asString MinMaxAll::asString RiseFall::asString RiseFallBoth::asString Transition::asString Tag::asString timingSenseString The following classes now return const objects. MinMax MinMaxAll RiseFall RiseFallBoth Transition TimingRole Release 2.6.1 2025/03/?? ------------------------- The following classes have been replaced by the class Path. PathEnumed PathPrev PathRef PathVertex PathVertexPtr PathVertexRep The PathExpanded::prevArc function has been removed. Use Path::prevArc instead. Release 2.4.0 2023/01/19 ------------------------- The Network API and associated containers now 'const' the network class objects. The Network API now requires network objects to have and "id" function that returns an ObjectId (unsigned int) that is unique to the object among objects of the same type. virtual ObjectId id(const Instance *instance) const = 0; Object IDs are used for comparing and hashing network objects. If network Ids are not available in the host application database object pointers can be cast to intptr_t. Using pointers as object Ids can result in memory layout dependent results that are inconsistent from run to run or across host systems. Many Network and Sta class functions now return collections rather than pointers to temporary collections that the caller would have to delete. Release 2.3.1 2022/06/12 ------------------------- LibertyCellTimingArcSetIterator has been removed. Use range iteration as shown below: for (TimingArcSet *arc_set : cell->timingArcSets()) for (TimingArcSet *arc_set : cell->timingArcSets(from, to)) TimingArcSetArcIterator has been removed. Use range iteration as shown below: for (TimingArc *arc : arc_set->arcs()) LibertyCellSequentialIterator has been removed. for (Sequential *seq : cell->sequentials()) Release 2.1.1 2020/12/13 ------------------------- Report::error, Report::warn functions now take a unique message ID as a first argument. InternalError has been renamed Report::cricical. Release 2.1.0 2020/04/05 ------------------------- All public headers files have been moved to include/sta. The following iterators have been removed. Use range iteration on the returned collection shown next to them instead. LibertyCellInternalPowerIterator cell->internalPowers() LibertyCellLeakagePowerIterator cell->leakagePowers() Release 2.0.18 2020/02/15 ------------------------- The following iterator functions are deprecated: TimingArcSet::timingArcIterator() Sdc::clockIterator() Use the iterator class constructor instead. This avoids new/deletes of the iterators by stack allocating them. For example, Instead of TimingArcSetArcIterator *arc_iter = arc_set->timingArcIterator(); while (arc_iter->hasNext()) { TimingArc *arc = arc_iter->next(); } delete arc_iter; use the following: TimingArcSetArcIterator arc_iter(arc_set); while (arc_iter.hasNext()) { TimingArc *arc = arc_iter.next(); } StaException renamed to Exception Release 2.0.17 2019/11/11 ------------------------- Network::setVertexIndex renamed to setVertexId Network::vertexIndex renamed to vertexId TransRiseFall renamed to RiseFall TransRiseFallBoth renamed to RiseFallBoth Release 2.0.0 2018/06/11 ------------------------- Initial release. # Local Variables: # mode:text # End: