AgenPro 2 CHANGES ================= [2008-05-19] AgenPro 2.7.1 - Improved: Module.java template generates module getters. - Improved: Added parsed code snippet count displayed in log for "by selection" code generation mode. - Added: Template for debugging code merging issues in templates/debug. - Added: Generation of Enum classes for notification objects in SNMP4J 1.1 and 1.2 code templates. - Improved: Template select_1module1file.vm of SNMP4J 1.2 template set now checks if an object name exists before a corresponding selection is generated. [2008-04-16] AgenPro 2.7a - Fixed: Restored -r command line option when used in conjunction with the -a option. - Fixed: Built-in MIB modules loading. [2008-03-20] AgenPro 2.7 - Improved: Additional command line options to generate code without repository and custom config file in batch mode. - Improved: SNMP4J-Agent 1.2 templates that generate also the glue code to integrate the generated code into an agent. - Fixed: "x" can now be used as DESCRIPTION text. - Added: Checks for consistent DISPLAY-HINT usage in conjunction with TC SYNTAX. - Fixed: COMPLIANCE-MODULE checks regarding imported object groups and objects when used within current module compliance definitions. - Changed: Relaxed OBJECT IDENTIFIER assignment checks to allow such assignments below object registrations. - Fixed: Possible corruption of the MIB repository by duplicate module IDs. - Improved: MIB sorting for module compilation in command line mode. - Added: SNMP4J-Agent code generation property "package" to generate code for a specific Java package. - Added: SNMP4J-Agent code generation properties "useReference" and "reference" to use/override the content of a MIB objects REFERENCE clause in code generation to support the generation of generic instrumentation mappings. - Added: SNMP4J-Agent 1.2 templates and project generate a Modules.java file to easily integrate generated MIB modules into an agent. - Improved: MIB repository verification and auto repair when a new MIB repository is selected. [2007-07-18] AgenPro 2.6.2a - Improved: SNMP4J-Agent templates to no longer generate references and code for internal TCs. [2007-07-02] AgenPro 2.6.2 - Added: Code generation wizard/configuration now supports generating code for all MIB modules available in the currently selected MIB repository. - Improved: MIBs are now loaded for each job separately. - Improved: #defines in AGENT++ 3.5.23 or later templates are now generate with module name prefix if withModuleName is activated (set to "yes"). - Added: SNMP4J-Agent templates now generate enum definitions for index objects too. - Improved: Textual conventions of imported MIB modules are now also generated by default to make the code independent. to deactivate this feature, define "localTCsOnly". - Fixed: Possible exception in agenUtils.getModuleName method call. - Added: Example templates for SNMP++ to generate a object name to OID mapping classes as C++ header files. [2007-04-28] AgenPro 2.6.1b - Fixed: Several small bugs in the java_code.vm template. [2007-03-18] AgenPro 2.6.1a - Added: TC default implementation generation. - Fixed: Duplicate index OID generation. - Improved: SNMP4J-Agent templates: AgentX compatible sub-index creation using MOFactory. - Added: SNMP4J-Agent templates: Textual convention support for column creation using MOFactory. - Updated: SNMP4J-Agent code generation How-To to reflect latest changes in SNMP4J-Agent 1.1. [2007-01-29] AgenPro 2.6b - Fixed: Built-in MIB modules had wrong module ID which could cause Velocity errors during code generation of the form "Invocation of method 'getModuleName' in class com.agentpp.agenpro.util.AgenUtils threw..." when the basic MIB modules had not been compiled into the MIB repository first. - Fixed: Progress monitor did not show up for "by selection" code generation projects like the default SNMP4J-Agent project. - Improved: MIB modules not loaded into MIB tree but referenced by code generation project are now automatically loaded during code generation. - Fixed: Built-in MIB module support broken in v2.6. - Added: AgenUtils.getProperties(..) and getPropertiesArray(..). - Improved: SNMP4J-Agent templates to use extended MOFactory support in v1.1. - Added: useStaticConst to avoid #defines in AGENT++ generated code. - Added: Serveral new properties to better control SNMP4J-Agent code generation. - Improved: AGENT-CAPABILITIES variations of the WRITE-SYNTAX are now considered for SNMP4J-Agent generation. - Added: AgenUtils.getVariation(..) to extract variation information in templates. - Fixed: Registering an object other than OBJECT-TYPE under a row/table object is now properly reported (RFC 2578 §7.10). - Fixed: UInteger32 is no longer accepted as base type since it has been removed from standard SMIv2 and must not be used any longer. If a MIB module makes use of it adding the line UInteger32 ::= Unsigned32 makes it parseable without needing to replace all occurrances of UInteger32. - Fixed: ::= SEQUENCE OF is no longer accepted. - Added: Check for conceptual row objects to register .1 object identifier under their table parent (SMIv2 only). - Added: Check for non OBJECT-TYPE registrations under an OBJECT-TYPE (RFC 2578 §7.10). - Fixed: Errors reported in log for SNMP4J-Agent code generation about null assignments. [2006-09-06] AgenPro 2.5.1 - Fixed: Problem with compiler log display (regression due to a packaging bug). - Added: Simulation agent generation support for SNMP4J-Agent 1.0. [2006-08-07] AgenPro 2.5a - Fixed: Errors reported while generating code for MIBs with NetworkAddress syntax and MIBs with TC definitions. - Added: AgenUtils.isTimeStamp(IObjectType ot) to check whether an object type's syntax is is the TimeStamp TC. - Improved: SNMP4J-Agent code generation templates now support more customization and SNMP4J-Agent 1.0 beta 5 or later. - Improved: Compiler log displays up to 50 errors for each MIB file at once. - Improved: MIB editor displays more than one error at once. [2005-09-21] AgenPro 2.1.4a - Added: Templates for AGENT++v3.5.23 and later with changed location of log.h include (now in SNMP++). [2005-06-23] AgenPro 2.1.4 - Fixed: MIB export was broken in v2.1.3 due to a packaging error (missing files). - Added: Code generation for SNMP4J-Agent traps and notifications. - Added: AgenUtils.createVector() and createHashSet(). [2005-04-20] AgenPro 2.1.3 - Added: An initial (alpha state) code generation project and template for SNMP4J-Agent Java SNMP agent API (http://www.snmp4j.org). The initial version does not yet fully support round-trip code generation. - Added: -r option to command line interface which can be used to specify the MIB repository to be used for MIB compilation (-a option) or code generation. - Added: AgenUtils.makeUpperCamelCase and AgenUtils.makeLowerCamelCase - Added: AgenUtils.getEffectiveSyntaxID - Added: The various AgenUtils.asList conversition routines. - Updated: IETF and AGENT++ MIBs supplied in the mibs folder. [2004-10-11] AgenPro 2.1.2 - Fixed: Importing/Compiling an empty file could cause an unclosable & unusable MIB file editor window to be shown with JDK 1.4. - Improved: The basic SMI modules like SNMPv2-SMI do no longer be compiled (precompiled versions are already included). - Improved: SMI parser checks for default values, i.e. range checks. - Improved: SMI parser error messages. - Improved: SMI parser performance for MIB modules with many object definitions. - Added: SMI parser checks for syntax refinements. - Improved: SMI parser checks for MODULE-COMPLIANCE, and AGENT-CAPABILITIES statements. - Improved: SMI parser error messages. - Improved: SMI parser performance for MIB modules with many object definitions. - Fixed: MIB module sorting did not recognized import dependencies implied by MODULE-COMPLIANCE or AGENT- CAPABILITIES statements. - Fixed: If BITS is imported, now an error is reported by the parser. - Fixed: OBJECT clause was not correctly colored as clause for printing/syntax highlighting. - Fixed: Code generation templates did not generate compilable code if NetAddress syntax has been used. - Added: Support for SNMP++ namespace usage. [2004-02-09] AgenPro 2.1.1 - Added: New templates and projects that support the include file scoping of AGENT++v3.5.17 and AgentX++v1.4.9. - Fixed: RFC 2579 §3.5 is now ensured (textual conventions must not reference other textual conventions). [2004-02-09] AgenPro 2.1a - Fixed: Button group problem in the template editor. - Improved: Selected is no longer cleared when moving rows in the template overview of the project wizard. - Improved: When adding a new job to the project wizard, the values of the selected job are copied into the new job to facilitate cloning of jobs. [2004-02-02] AgenPro 2.1 - Added: Job type 'By Selection' and the corresponding templates in the agent++v3.5.10_by_selection folder. The new job type allows advanced users to select the objects to be generated for a file (context). - Improved: Online Help now uses JavaHelp 2.0. - Improved: Help content and PDF manual. - Added: Enable/Disable context menu now simplifies property editing. - Fixed: Display of property description did not work properly if properties were sorted. - Added: v3.5.10 or later templates now support Win32 DLL class decoration. - Improved: Output directories will be created if they do not exist. [2003-11-19] AgenPro 2.0.6e - Fixed: cpp_code.vm regarding generation of code for dependend tables that could cause crashes in generated agents during agent shutdown. [2003-09-10] AgenPro 2.0.6d - Fixed: agenpro.sh start script. [2003-09-09] AgenPro 2.0.6c - Fixed: OCTET STRING and Opaque default value constructor was not generated with length value. - Improved: A dialog is shown when code generation completes successfully. [2003-09-04] AgenPro 2.0.6b - Fixed: Parsing of MIB module with module.object references where only one of the ambigous object name references is imported from another MIB module. - Fixed: When using AGENT-CAPABILITIES statement for generating agents, table objects where not generated. - Fixed: Problems with using AGENT-CAPABILITIES when MIB modules where not loaded that contained augmented tables. - Fixed: IpAddress default value constructor was not generated with length value. [2003-08-22] AgenPro 2.0.6 - Fixed: Typo in agenpro.bat file that made the command line version broken on Windows systems. - Improved: Leading and trailing whitespaces are now removed from filenames generated by Velocity templates. - Improved: Error reporting when code generation failed. - Improved: New MIB Deletion dialog that allows to delete several MIBs at once from the MIB repository. Deleted MIB modules are also removed from the MIB tree now. - Improved: MIB modules in MIB tree will be updated when you versions of those MIB modules are compiled into the MIB repository. - Fixed: Index referring to a scalar OBJECT-TYPE was not reported as a syntax error. - Fixed: Parser did not detect object references to not-accessible OBJECT-TYPEs in OBJECT-GROUP definitions. - Improved: Parse report printing now supports PDF, PCL, HTML and others output types, as well as font selection and paper size/orientation selection. - Improved: Error message when encountered a duplicate import source. - Improved: MIB file editor search dialog. - Fixed: Line separator in exported MIB modules were not consistent on all platforms. Mac line separator ("\r") is now also supported. To customize the line separator support, you may add -Dline.sperator="" to the java JRE command line of the AgenPro start script. [2003-05-27] AgenPro 2.0.5a - Improved: Velocity 1.3 template engine is now included in AgenPro2. - Improved: Online help. - Fixed: Alternative range restrictions were not generated correctly (in some cases only the first range restriction was generated). [2003-04-09] AgenPro 2.0.4 - Improved: Project path is now remembered. - Fixed: AgentX++ master project file ("agentX" property is now set to "no"). - Fixed: AGENT++v3.5.10 and later code generation template did not generate consistent code if the "leafSuperClass" property had been used. - Fixed: Duplicate identifiers in GROUPs where not detected by the MIB compiler. - Fixed: Wrong order of columns in SEQUENCE clause was not detected by the MIB compiler. - Added: Check for incorrect order of columns in a SEQUENCE clause. - Improved: Some minor issues in the online help. [2003-03-24] AgenPro 2.0.3 - Added: $agenUtils.isDateAndTime() which checks whether an OBJECT-TYPE uses the DateAndTime TC. - Added: $agenUtils.hasProperty(..) to easily check whether a value has been set for a node or any of its parents. - Added: Properties for super class names for leafs, tables, shared tables, complex tables, and notifications. This allows easy integration of customized intermediate classes. - Fixed: cpp_code.vm generated code to create table columns that were marked to be skipped from generation. - Fixed: cpp_code.vm did not generate correct code for AUGMENTing tables that refer to tables in the same MIB. - Added: MIB compiler checks to ensure that all INDEX sub-identifiers are not negative in SMIv2 modules. - Fixed: Preferences dialog needed to be closed twice when opened through menu. [2003-02-15] AgenPro 2.0.2a - Fixed: The MIB modules in the $modules and $moduleNames contexts are now sorted by their import dependencies. This fixes problems with augmenting tables that refer to tables imported from another MIB module. - Fixed: Default values generated for BITS. - Fixed: Generated value check for BITS. - Fixed: Missing newline in last line of includes_code.vm template. - Improved: Moved modules_init.h from "src" to "include" directory for v3.5.10 project. - Added: IModule.imports(), IModule.getImportSources(), $agenUtils.getModuleName(), $agenUtils.getModule() - Fixed: Generation of table listener for augmenting tables when generation option "withModuleName" was used. [2003-02-04] AgenPro 2.0.1c - Added: New templates for AGENT++v3.5.10 or later, which now generate unified code for notifications. [2003-01-21] AgenPro 2.0.1b - Fixed: MibTable::set_row generation used wrong index to access columnar objects (ccp_code.vm). - Fixed: Property inheritance did not work properly for multiple redefinitions of the same property. [2003-01-07] AgenPro 2.0.1 - Added: MIB files contained in ZIP files can be compiled directly from archives. - Added: File/Add MIBs... menu option allows to compile only those files in directories, ZIP archives, and files that are not already available in the current MIB repository. - Added: Importing two object names with the same name from two different MIB modules is now fully supported. The . notation is now correctly parsed and generated. - Added: Notation " { } DEFINITIONS BEGIN" for SMIv1 MIBs is no longer rejected. - Added: Some additional error checks regarding IMPORTS clause. Modules may be referenced once only. Notifications and traps may not be imported at all. - Added: Recent SMIv2 MIB files (RFC3411-3419, RFC3434-3435, RFC3440) - Fixed: Notification classes for AgentX++ subagents were incorrectly derived from NotificationOriginator. [2003-01-03] AgenPro 2.0c - Fixed: Compilation problems with notification code generated for AgentX++ subagents. - Fixed: Missing code generation for notifications. - Fixed: Added "notifications" context description to online help. - Fixed: Generation of enumerations labels was missing in the initial release. - Fixed: Generation of IpAddress default values was broken. - Fixed: Generation of value_ok method for unsigned integer values. - Fixed: Several other minor issues.